Javascript 拦截鼠标滚轮倾斜事件?
我试图用以下代码覆盖Chrome的鼠标滚轮事件:Javascript 拦截鼠标滚轮倾斜事件?,javascript,jquery,mousewheel,tampermonkey,Javascript,Jquery,Mousewheel,Tampermonkey,我试图用以下代码覆盖Chrome的鼠标滚轮事件: // Wheel handler function wheel(event){ var ret = true; if (event.wheelDelta) { // Tilt to the left if (event.wheelDeltaX > 0) { alert('Left'); //window.history.back();
// Wheel handler
function wheel(event){
var ret = true;
if (event.wheelDelta) {
// Tilt to the left
if (event.wheelDeltaX > 0) {
alert('Left');
//window.history.back();
ret = false;
}
// Tilt to the right
if (event.wheelDeltaX < 0) {
alert('Right');
//window.history.forward();
ret = false;
}
}
event.returnValue = ret;
}
// Bind the onmousewheel event to our handler
window.onmousewheel = document.onmousewheel = wheel;
//轮子处理器
功能控制盘(事件){
var-ret=真;
if(事件轮三角洲){
//向左倾斜
如果(event.wheelDeltaX>0){
警惕(“左”);
//window.history.back();
ret=假;
}
//向右倾斜
如果(event.wheelDeltaX<0){
警惕(“右”);
//window.history.forward();
ret=假;
}
}
event.returnValue=ret;
}
//将onmouseheel事件绑定到我们的处理程序
window.onmouseheel=document.onmouseheel=wheel;
但当我向左/向右倾斜时,似乎什么也没发生。这个用户脚本有什么问题?谢谢。- 请参阅并使用正确的事件属性李>
- 也,;始终使用
(或jQuery)addEventListener
- 使用
和.preventDefault()
阻止默认操作.stopImmediatePropagation()
- 最后,根据您试图阻止的内容,您可能希望/需要绑定到特定元素,而不是
文档
var blockedNode=document.getElementById(“blockit”);
blockedNode.addEventListener(“轮子”,鼠标检测);
//document.addEventListener(“轮子”,鼠标检测);
功能mouseTiltDetect(zEvent){
var blockit=false;
if(zEvent.deltaX){
如果(zEvent.deltaX<0){/--向左倾斜
console.log('Left');
blockit=true;
}
否则,如果(zEvent.deltaX>0){/--向右倾斜
console.log(“右”);
blockit=true;
}
}
如果(阻止它){
zEvent.preventDefault();
zEvent.stopImmediatePropagation();
}
}
pre{
溢出-x:滚动;
身高:5公分;
边框:1px纯色灰色;
}
使用鼠标滚轮倾斜水平滚动我。。。Chuck ipsum。查克·诺里斯曾经试着戴眼镜。结果,他环顾世界,看到了自己的后脑勺。
但你不能以同样的方式滚动。。。Chuck ipsum。虽然这不是常识,但原力实际上有三个方面:光明面、黑暗面和查克·诺里斯。
试试这个: