完美解决jQuery的hover事件在IE中不停闪动的问题
在使用jQuery的hover事件时,经常会因为鼠标滑动过快导致菜单不停闪动的情况,相信很多朋友都遇到过自己做的纵向下拉菜单不停的收缩,非常的讨厌。今天在给一个网站设计菜单时也遇到了这个情况,结果在百度上找了N久,没有找到解决方法。在这里吐槽一下,百度太2了,收录的内容都没什么价值,最后还是在google找到了解决方法,下面就把这个jQuery的hover在IE中会导致不停闪动的解决方法教给大家。
$("#categoryul").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库中实现的,并不是浏览器的原生事件。不过最重要的是把菜单不停闪动的问题解决了!
$("#categoryul").find("li").each(function(){ $(this).mouseenter(function(){ $(this).children("ul").show(); }); $(this).mouseleave(function(){ $(this).children("ul").hide(); }); });
以上这篇完美解决jQuery的hover事件在IE中不停闪动的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。