2

根据JQuery 文档,如果用户在事件发生时按下鼠标左键,event.which则应该返回1 。

但是,对于 Firefox 和 Internet Explorer,整个鼠标按键逻辑似乎都被破坏了。请参阅这个输出使用事件的值的JSFiddleevent.whichmousemove

JSFiddle 将演示 Firefox (24.0) 和 Internet Explorer (11.0.9600.16384)无论您按下或未按下任何按钮,都始终返回值1

提问时间!

我是唯一遇到此问题的人吗?如果没有,是否是 JQuery 中的错误?

你能想出一个解决方法吗?在我的应用程序中,我需要知道 event.which 的正确值,并且我需要从附加到窗口对象的 mousemove 事件处理程序中解析它。

4

1 回答 1

3

我希望event.which为涉及点击的事件工作,例如mousedown, mouseup, click

如果您在鼠标移动期间需要此信息,则必须在这些其他事件之一期间预先记录它,并在检测到移动时使用它。

http://jsfiddle.net/RDNzS/

与往常一样,这样做的脆弱性在于,如果单击事件发生在您的目标区域之外(例如甚至不在浏览器中),因为您不会发现这一点。

于 2013-11-01T17:02:50.903 回答