是JQuery event.which坏了吗?

时间:2013-11-01 16:58:48

标签: jquery internet-explorer firefox mousemove

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

然而,对于Firefox和Internet Explorer来说,整个鼠标按键按下的逻辑似乎已被打破。请参阅this JSFiddle,使用event.which事件输出mousemove的值。

JSFiddle将证明Firefox(24.0)和Internet Explorer(11.0.9600.16384)始终返回值 1 未按下的任何按钮。

提问时间!

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

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

1 个答案:

答案 0 :(得分:3)

我希望event.which适用于涉及点击的事件,例如mousedownmouseupclick

如果您在鼠标移动过程中需要此信息,则必须在其中一个事件中预先记录此信息,并在检测到移动时使用它。

http://jsfiddle.net/RDNzS/

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