我已经看到了与此相关的非常相似的问题,但这些问题仅涵盖了按键事件,而不是按照我的方式点击鼠标.
基本上我正在尝试确定用户是否单击鼠标左键或右键.我的代码:
$(".class_name").mousedown(function () {
switch (event.which) {
case 1: //leftclick
//...
break;
case 3: //rightclick
//...
break;
}
});
Run Code Online (Sandbox Code Playgroud)
这适用于Safari,但不适用于IE或Firefox.IE和FF就像没有发生任何事情一样,而Safari则执行特定点击的代码.jQuery通常很适合跨浏览器兼容性,因此我猜我需要以不同的方式格式化代码,但不确定具体如何.
任何帮助将不胜感激.谢谢你的时间.
这里的问题是你使用的是全局 window.event对象,而不是jQuery的事件对象. window.event仅适用于某些浏览器,并且它不是W3C标准.
jQuery规范化事件对象,使其在所有浏览器中都相同.事件处理程序将jQuery事件对象作为参数传递.你应该使用它.
$(".class_name").mousedown(function (e) {
switch (e.which) {
case 1: //leftclick
//...
break;
case 3: //rightclick
//...
break;
}
});
Run Code Online (Sandbox Code Playgroud)