假设我们有一个简单的HTML页面,其div容器具有垂直滚动条。整个页面还包含垂直滚动条:
我想禁用主体滚动条功能(但它应该是可见的)并允许用户仅滚动容器的内容。
我知道禁用滚动的唯一选择是捕获wheel
事件并在其上调用preventDefault
。但是它会禁用所有滚动条。
是否可以获取,哪个滚动会受到事件(容器或全局)的影响并有条件地调用preventDefault
方法?
答案 0 :(得分:2)
下面的解决方案是用jQuery编写的,但它也可以用简单的Javascript等效代码完成:
$(document).on('DOMMouseScroll mousewheel', context, function(ev) {
//Do some stuff
ev.stopPropagation(); //Prevents ancestors of context of handling the event
});