仅在IE中向上和向下滚动时会触发mouseleave
滚动浏览IE中示例中的黄色框以查看问题。
有没有办法阻止这种情况发生?
$("#box").mouseenter(function(){
$("#mouse").html("mouseenter");
}).mouseleave(function(){
$("#mouse").html("mouseleave");
});
$("#box").bind('mousewheel DOMMouseScroll MozMousePixelScroll', function(e){
var theEvent = e.originalEvent.wheelDelta || e.originalEvent.detail*-1
e.stopImmediatePropagation();
e.stopPropagation();
e.preventDefault();
if(theEvent /120 > 0) {
$("#scroll").html("Scrolling Up");
}
else{
$("#scroll").html("Scrolling Down");
}
return false;
});
答案 0 :(得分:0)
您是否尝试过使用:
$("#box").hover();
答案 1 :(得分:0)
我想通了,虽然不确定是否有更好的方式
我把它放在滚动
中scrollLock = true;
clearTimeout($.data(this, 'timer'));
$.data(this, 'timer', setTimeout(function() {
scrollLock = false;
}, 250));
并在mouseleave上检查!scrollLock是否在采取行动之前