假设我们有一个简单的 HTML 页面,其中包含带有垂直滚动条的 div 容器。整个页面还包含垂直滚动条:
我想禁用主体滚动条功能(但它应该是可见的)并允许用户仅滚动容器的内容。
我知道禁用滚动的唯一选项是捕获 wheel
事件并调用 preventDefault
。但是它会禁用所有滚动条。
是否可以获取哪个滚动会受到事件的影响(容器的还是全局的)并有条件地调用 preventDefault
方法?
最佳答案
下面的解决方案是用 jQuery 编写的,但也可以用普通的 Javascript 等效代码来完成:
$(document).on('DOMMouseScroll mousewheel', context, function(ev) {
//Do some stuff
ev.stopPropagation(); //Prevents ancestors of context of handling the event
});
关于javascript - 检测哪个滚动条随着滚轮事件而移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41186018/