【发布时间】:2011-04-26 00:57:10
【问题描述】:
我讨厌这种由 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 也存在那里。
那我该怎么办?我有一些浏览器检测,但我们都知道它不能依赖于最近一些浏览器所做的所有屏蔽。如何可靠地检测鼠标左键?
【问题讨论】:
-
我认为
site:quirksmode.org left mouse button press的前两个搜索结果会对您有所帮助。 -
我看了,里面什么都没有,只有鼠标右键的脚本
-
您可能想看看jQuery 是如何解决问题的,或者只是使用jQuery's mousedown 并查看
event.which的值。 -
我的站点中没有 jQuery,似乎 $.browser.msie 是另一个浏览器检测
-
阅读highest rated non-accepted answer,您将了解如何在不使用
$.browser.msi的情况下使用jQuery。
标签: javascript google-chrome key opera mouseevent