在Firefox中,使用滑块滚动时会触发mousemove事件

时间:2013-08-27 12:26:18

标签: javascript firefox javascript-events

我在可滚动的div上有一个mousemove事件。当我拖动滚动滑块时,Firefox是唯一触发mousemove事件的主要浏览器。你知道摆脱它的方法吗?

HTML

<div id="outer">
    <div id="inner">
    </div>
</div>

<div id="reporter1"></div>
<div id="reporter2"></div>

JS

$("#outer").on("scroll", function (event) {
    $("#reporter1").text("scroll");
});

$("#outer").on("mousemove", function (event) {
    $("#reporter2").text("mousemove");
});

setInterval(function () {
    $("#reporter1").text("");
    $("#reporter2").text("");
}, 500);

请参阅jsfiddle

1 个答案:

答案 0 :(得分:0)

你可以使用off()事件处理程序和一个简单的计时器:

var timer;
rebind();

$('#outer').on('scroll', function(){
     clearTimeout(timer);
     $('#outer').off('mousemove');
     timer = setTimeout(rebind, 500);
});

function rebind() {
     $('#outer').on('mousemove',function() {
             $("#reporter2").text("mousemove");
     });
}