(我知道已经有类似的问题了,但是我找不到非jQuery并覆盖所有浏览器。)
我需要一个获取JavaScript点击事件的函数,并返回1
进行左键单击,2
进行中间点击,3
进行右键单击。
是的,这是event.which
应该是的,但并非所有浏览器都支持它,所以你必须使用event.button
...但是有些浏览器会对该属性进行不同的编号。我发现很难弄清楚如何做到这一点。
我想要的东西适用于所有浏览器,包括IE6 +(请不要质疑),Firefox 3.6 +,Chrome 10 +,Safari 5 +。
请不要jQuery。
答案 0 :(得分:0)
您可以查看链接Mouse events,这提供了一个很好的解释。 您可以使用其中提供的代码作为解决方法。
function fixWhich(e) {
if (!e.which && e.button) {
if (e.button & 1) e.which = 1 // Left
else if (e.button & 4) e.which = 2 // Middle
else if (e.button & 2) e.which = 3 // Right
}
}
希望这有帮助。