当用户滚动div时,我需要禁用临时事件mouseup
。我在div上测试绑定滚动事件,在事件上测试preventDefault
和stopImmadiatePropagation
但不起作用。
代码原型:
$(document).ready(function() {
$(document).on("mouseup", "#test", function(e) {
$("body").append('<b style="color:red">Mouse up | </b>');
});
$("#test").scroll(function(e) {
$("body").append('<b style="color:green">Scroll | </b>');
e.preventDefault();
e.stopImmediatePropagation();
});
});
我提供了这个plunker示例:plunker
答案 0 :(得分:2)
答案 1 :(得分:1)
layout_alignBaseLine
当触发滚动事件时,它将禁用$(document).ready(function() {
$(document).on("mouseup", "#test", function(e) {
$("body").append('<b style="color:red">Mouse up | </b>');
});
var isScrolling = false;
$("#test").scroll(function(e) {
$("body").append('<b style="color:green">Scroll | </b>');
e.preventDefault();
e.stopImmediatePropagation();
isScrolling = true;
setTimeout(function(){
isScrolling = false;
setTimeout(function(){
if(!isScrolling){
$(document).off("mouseup", "#test");
$(document).on("mouseup", "#test", function(e) {
$("body").append('<b style="color:red">Mouse up | </b>');
});
}
}, 500);
}, 500);
$(document).off("mouseup", "#test");
});
});
事件。