Javascript 有可能获得鼠标按钮4、5等吗?

Javascript 有可能获得鼠标按钮4、5等吗?,javascript,mouselistener,Javascript,Mouselistener,简单地说,有没有办法在JavaScript中检测额外的鼠标按钮按下?它并没有记录在鼠标输入的其余部分中,所以我猜它不在标准实现中 是否有任何方法(例如库)可以启用额外的鼠标按钮?是的,您可以这样做,请选中,请参见下面的示例,该示例将检测3个和4个按钮的单击 某些定点设备提供或模拟更多按钮。要表示这些按钮,每个连续按钮(二进制序列8、16、32,…)的值必须加倍,如 var whichButton=函数(e){ //处理不同的事件模型 var e=e | | window.event; var-

简单地说,有没有办法在JavaScript中检测额外的鼠标按钮按下?它并没有记录在鼠标输入的其余部分中,所以我猜它不在标准实现中


是否有任何方法(例如库)可以启用额外的鼠标按钮?

是的,您可以这样做,请选中,请参见下面的示例,该示例将检测3个和4个按钮的单击


某些定点设备提供或模拟更多按钮。要表示这些按钮,每个连续按钮(二进制序列8、16、32,…)的值必须加倍,如

var whichButton=函数(e){
//处理不同的事件模型
var e=e | | window.event;
var-btnCode;
if('object'==typeof e){
btnCode=e.按钮;
交换机(btnCode){
案例3:
log('单击浏览器后退按钮');
打破
案例4:
log('单击浏览器前进按钮');
打破
违约:
log('意外代码:'+btnCode);
}
}
}

用鼠标点击…
在下面的链接中可以找到规范的工作草案-如@Briggy提供的链接中所述,检测辅助按钮点击的mozilla实现应该可以跨浏览器工作。要表示这些按钮,每个连续按钮的值必须加倍(在二进制序列8、16、32等中)检查我的更新。对于我来说,使用Chrome、IE、Edge、Firefox或Opera时,这似乎不起作用。正如switch语句的内容所暗示的,在Chrome、Firefox和Edge中,鼠标按钮3和4已经绑定到浏览器的后退和前进动作(我想还有更多)。我创建了一个
e.preventDefault()var e
声明下的code>以抑制绑定浏览器操作。我已经在Chrome 71中验证了这一点,但不幸的是,在FireFox 65和Edge 42中,
e.preventDefault()
没有抑制绑定浏览器操作。有人知道在所有浏览器中抑制它的方法吗?总是包括测试来解释代码的逻辑,否则,它可能对其他浏览器没有帮助
var whichButton = function (e) {
    // Handle different event models
    var e = e || window.event;
    var btnCode;

    if ('object' === typeof e) {
        btnCode = e.button;

        switch (btnCode) {
            case 3:
                console.log();
            break;

            case 4:
                console.log();
            break;

            default:
                console.log('Unexpected code: ' + btnCode);
        }
    }
}