首頁  >  文章  >  web前端  >  關於jQuery中hover事件在IE中不停閃動的解決方法分享

關於jQuery中hover事件在IE中不停閃動的解決方法分享

黄舟
黄舟原創
2017-06-26 11:21:341365瀏覽

在使用jQuery的hover事件時,經常會因為滑鼠滑動過快導致選單不停閃的情況,相信很多朋友都遇到過自己做的縱向下拉選單不停的收縮,非常的討厭。今天在為一個網站設計選單時也遇到了這個情況,結果在百度上找了N久,沒有找到解決方法。這裡吐槽一下,百度太2了,收錄的內容都沒什麼價值,最後還是在google找到了解決方法,下面就把這個jQuery的hover在IE中會導致不停閃的解決方法教給大家。

$("#category ul").find("li").each( function() { 
$(this).mouseover( function() {
$(this).children("ul").show(); 
} ); 
$(this).mouseout( function() {
$(this).children("ul").hide();
 } ); 
} );

滑鼠在下拉選單移動時選單會不斷閃爍,表示不斷觸發了 mouseover 和 mouseout 事件。

其實很簡單的解決方法:將 mouseover 改成 mouseenter,mouseout 改成 mouseleave。 mouseenter 和 mouseleave 事件是 jQuery 函式庫中實作的,並不是瀏覽器的原生事件。不過最重要的是把選單不停閃動的問題解決了!


$("#category ul").find("li").each( function() {
 $(this).mouseenter(function() { 
$(this).children("ul").show(); 
} );
 $(this).mouseleave(function() {
 $(this).children("ul").hide();
 } ); 
} );

以上是關於jQuery中hover事件在IE中不停閃動的解決方法分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn