【问题标题】:Detect which scrollbar was moved with the wheel event检测使用滚轮事件移动了哪个滚动条
【发布时间】:2017-05-02 08:18:20
【问题描述】:

假设我们有一个带有垂直滚动条的 div 容器的简单 HTML 页面。整个页面还包含垂直滚动条:

我想禁用主体滚动条功能(但它应该是可见的)并允许用户仅滚动容器的内容。

我知道禁用滚动的唯一选项是捕获wheel 事件并在其上调用preventDefault。但是它会禁用所有滚动条。

是否可以获得,哪个滚动会受到事件的影响(容器的或全局的)并有条件地调用preventDefault 方法?

【问题讨论】:

    标签: javascript dom-events


    【解决方案1】:

    下面的解决方案是用 jQuery 编写的,但也可以用纯 Javascript 等效代码来完成:

    $(document).on('DOMMouseScroll mousewheel', context, function(ev) {
        //Do some stuff
        ev.stopPropagation(); //Prevents ancestors of context of handling the event
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-23
      • 2012-02-14
      • 1970-01-01
      • 2021-05-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多