据我所知,不同的浏览器在 mousedown
事件上为鼠标按钮分配不同的键码值。我已经尝试过this在 Chrome 中,它有效:
$('a').mousedown(function(f) {
if (f.which == 2) {
alert("You clicked the wheel")
}
})
但是,我担心某些浏览器无法识别鼠标滚轮的键码为 2,并将其与其他鼠标按钮混淆,从而导致代码崩溃。我的问题是是否有任何方法可以重置这些值,以便我可以使用我提供的新值,以便所有浏览器都知道这些数字到底代表什么。
最佳答案
根据 W3C,其值应该是:
- 左键 - 0
- 中间按钮 - 1
- 右键 - 2
根据 Microsoft 的说法,其值应该是:
- 左按钮 - 1
- 中间按钮 - 4
- 右键 - 2
但你不必考虑它(跨浏览器问题),将其保留在 jQuery
上,在每个浏览器中
都会返回相同的结果
$('a').mousedown(function(e) {
if( (e.which == 1) ) {
alert("left button");
}if( (e.which == 3) ) {
alert("right button");
}else if( (e.which == 2) ) {
alert("middle button");
}
});
DEMO. (在 IE、Chrome 和 FF 中测试)
关于javascript - 更改鼠标键码 - jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11440052/