Jem*_*Jem 24 javascript mouse scroll mousewheel
我正在尝试阻止页面元素捕获的鼠标滚轮事件导致滚动.
我期望false作为最后一个参数获得预期的结果,但在这个"canvas"元素上使用鼠标滚轮仍会导致滚动:
this.canvas.addEventListener('mousewheel', function(event) {
mouseController.wheel(event);
}, false);
Run Code Online (Sandbox Code Playgroud)
在这个"画布"元素之外,滚动需要发生.在里面,它必须只触发.wheel()方法.我究竟做错了什么?
Gil*_*esC 39
您可以通过false在处理程序的末尾返回来执行此操作.
this.canvas.addEventListener('wheel',function(event){
mouseController.wheel(event);
return false;
}, false);
Run Code Online (Sandbox Code Playgroud)
更新为在评论中指出的现代浏览器已弃用的wheel事件mousewheel.
问题是关于阻止滚动不提供正确的事件所以请检查您的浏览器支持要求,以根据您的需要选择正确的事件.
Zet*_*eta 24
您是否尝试event.preventDefault()阻止事件的默认行为?
this.canvas.addEventListener('mousewheel',function(event){
mouseController.wheel(event);
event.preventDefault();
}, false);
Run Code Online (Sandbox Code Playgroud)
请记住,现在mouswheel已经弃用了wheel,所以你应该使用
this.canvas.addEventListener('wheel',function(event){
mouseController.wheel(event);
event.preventDefault();
}, false);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35010 次 |
| 最近记录: |