Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 拦截鼠标滚轮倾斜事件?_Javascript_Jquery_Mousewheel_Tampermonkey - Fatal编程技术网

Javascript 拦截鼠标滚轮倾斜事件?

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();

我试图用以下代码覆盖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();
            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;
但当我向左/向右倾斜时,似乎什么也没发生。这个用户脚本有什么问题?谢谢。

  • 请参阅并使用正确的事件属性
  • 也,;始终使用
    addEventListener
    (或jQuery)
  • 使用
    .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。虽然这不是常识,但原力实际上有三个方面:光明面、黑暗面和查克·诺里斯。
试试这个: