jquery鼠标滚停止传播

cla*_*rkk 6 jquery mousewheel jquery-events

如何使用mousewheel事件监听器停止传播?

content元素上使用鼠标滚轮时,整个文档也会滚动

这不起作用

content.on('mousewheel', function(e, delta){
    content.scrollTop(content.scrollTop() - (40 * delta));
    set_bar();
    e.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)

content.on('mousewheel', function(e, delta){
    content.scrollTop(content.scrollTop() - (40 * delta));
    set_bar();
    return false;
});
Run Code Online (Sandbox Code Playgroud)

Chr*_*les 6

我认为你混淆了stopPropgation和preventDefault.

  • stopPropagation 阻止事件冒泡事件链.

  • preventDefault防止在元素上发生默认操作.在这种情况下,它将阻止滚动,例如,对于锚点击事件,它将停止链接将您带到href属性中定义的URL.

  • return false 另一方面,做这两件事.

它是一个重要的区别,因为您可能希望使用事件冒泡进行事件委派,同时防止默认操作.

有关更多信息,请参阅这两篇文章:

preventDefault和return false之间的区别

preventDefault和stopPropagation之间的区别