根据JQuery documentation,event.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事件处理程序中解析它。
答案 0 :(得分:3)
我希望event.which
适用于涉及点击的事件,例如mousedown
,mouseup
,click
。
如果您在鼠标移动过程中需要此信息,则必须在其中一个事件中预先记录此信息,并在检测到移动时使用它。
与往常一样,这种脆弱性是指如果点击事件发生在目标区域之外(例如甚至不在浏览器中),因为您不会发现这一点。