天天看點

jquery之滑鼠滑過圖檔mousemove事件

 需要解決的問題:滑鼠停在圖檔上面的時候的 現在這個張圖檔的相關資訊,

 我的第一個感覺是使用滑鼠事件:mousemove 當他/她停留在圖檔上面都 時候就可以觸發相應顯示的事件, mouseout離開的時候觸發隐藏事件

但是在實際的完成中發現:滑鼠停留在圖檔上 資訊會不停的抖動,查閱相關資料發現,手冊對mouseover事件的解釋是:

注意:使用者把滑鼠移動一個像素,就會發生一次 mousemove 事件。處理所有 mousemove 事件會耗費系統資源。請謹慎使用該事件。

 也就是說:我們滑鼠是即使有一個像素的抖動都會觸發顯示事件 , 難怪會造成圖檔資訊的資源

解決的辦法是:使用hover,官方手冊對這個方法的解釋:

一個模仿懸停事件(滑鼠移動到一個對象上面及移出這個對象)的方法。這是一個自定義的方法,它為頻繁使用的任務提供了一種“保持在其中”的狀态。

當滑鼠移動到一個比對的元素上面時,會觸發指定的第一個函數。當滑鼠移出這個元素時,會觸發指定的第二個函數。而且,會伴随着對滑鼠是否仍然處在特定元素中的檢測(例如,處在div中的圖像),如果是,則會繼續保持“懸停”狀态,而不觸發移出事件(修正了使用mouseout事件的一個常見錯誤)。

$("td").hover(
  function () {
    $(this).addClass("hover");
  },
  function () {
    $(this).removeClass("hover");
  }
);