debounce函数意味着鼠标滚轮上的e.c preventdefault不再工作
debounce function means e.preventDefault on mousewheel no longer working
我正在使用鼠标滚轮改变页面的背景。我只想触发鼠标滚轮事件一次1000ms,因此我使用debounce函数。
在我添加debounce功能并使用e.preventDefault()
之前,它阻止了滚动的工作。然而,现在我已经添加了debounce功能,这不再起作用,用户可以再次滚动页面。
请参阅下面的代码。
$(document).ready(function() {
$(document).on('mousewheel DOMMouseScroll',debounce(function(e){
e.preventDefault();
//code to change the background image
}, 1000))
});
function debounce(fn, delay) {
var timer = null;
return function () {
var context = this, args = arguments;
clearTimeout(timer);
timer = setTimeout(function () {
fn.apply(context, args);
}, delay);
};
然后像这样构建:
$(document).ready(function() {
var changeBackground = debounce(function(e){
//code to change the background image
}, 1000)
$(document).on('mousewheel DOMMouseScroll',debounce(function(e){
e.preventDefault();
changeBackground(e);
})
});
相关文章:
- 我怎样才能制作一个“;reverse preventDefault”;在jQuery中
- IE7 preventDefault()无法处理跳过链接
- e.preventDefault在表单提交时被忽略
- preventDefault而不删除html5验证
- event.preventDefault阻止ajax调用
- jQuery preventdefault提交表单没有'通过js函数提交表单时无法工作
- 事件发生后重定向到主页.preventDefault.
- 是preventDefault()一个jQuery函数或javascript函数
- preventDefault之后的重新启动事件
- preventDefault()赢得'It’我不管用
- 为什么使用e.preventDefault的if语句?-拖放javascript
- event.preventDefault() 不会在 jQuery Mobile 中取消链接方向
- preventDefault() 类似于 javascript 中的功能
- e.preventDefault() in ie8
- 如果父元素具有 preventDefault,如何将单击传播到子元素
- Javascript - jQuery preventDefault method
- Javascript-匿名函数中使用参数引用全局函数的闭包-我如何使用preventDefault
- 如何查找导致preventDefault的原因,该preventDefault会覆盖正常的单击行为
- 如果存在event.preventDefault函数,则ajaxForm不起作用
- Javascript preventDefault operation