我讨厌由 W3C 和 MS 创建的这种乱七八糟的鼠标按钮!我想知道当我收到 mousedown 事件时是否按下了鼠标左键。
我用这个代码
// Return true if evt carries left mouse button press
function detectLeftButton(evt) {
// W3C
if (window.event == null) {
return (evt.button == 0)
}
// IE
else {
return (evt.button == 1);
}
}
但是,它在 Opera 和 Chrome 中不起作用,因为碰巧 window.event 也存在。
那我该怎么办?我有一些浏览器检测,但我们都知道它不能依赖于某些浏览器最近所做的所有屏蔽。如何可靠地检测鼠标左键?
最佳答案
更新的答案。以下将检测是否按下了左键且仅按下了鼠标左键:
function detectLeftButton(evt) {
evt = evt || window.event;
if ("buttons" in evt) {
return evt.buttons == 1;
}
var button = evt.which || evt.button;
return button == 1;
}
有关在 JavaScript 中处理鼠标事件的更多信息,请尝试 http://unixpapa.com/js/mouse.html
关于javascript - 检测鼠标左键按下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3944122/