0

http://jsfiddle.net/bxB9C/

仅在 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;
});
4

2 回答 2

0

您是否尝试过使用:

$("#box").hover();
于 2013-07-22T20:13:16.577 回答
0

http://jsfiddle.net/bxB9C/2/

我想通了,虽然不确定是否有更好的方法

我把这个放在卷轴上

scrollLock = true;
clearTimeout($.data(this, 'timer'));
$.data(this, 'timer', setTimeout(function() {
     scrollLock = false;
}, 250));

在 mouseleave 上检查是否 !scrollLock 在采取行动之前

于 2013-07-22T20:34:49.997 回答