根据JQuery documentation ,如果用户在事件发生时按下鼠标左键,则 event.which
应该返回 1。
但是,对于 Firefox 和 Internet Explorer,整个鼠标按钮按下的逻辑似乎被破坏了。请参阅this JSFiddle使用 mousemove
事件输出 event.which
的值。
JSFiddle 将演示无论您按下或未按下按钮,Firefox (24.0) 和 Internet Explorer (11.0.9600.16384) 始终返回值 1。 p>
提问时间!
我是唯一遇到此问题的人吗?如果没有,这是 JQuery 中的错误吗?
你能想出一个解决方法吗?在我的应用程序中,我需要知道 event.which 的正确值,并且需要从附加到窗口对象的 mousemove 事件处理程序中解析该值。
最佳答案
我希望 event.which
适用于涉及点击的事件,例如 mousedown
、mouseup
、click
例如。
如果您在鼠标移动期间需要此信息,则必须在这些其他事件之一期间预先记录它,并在检测到移动时使用它。
与往常一样,这样做的脆弱性是,如果点击事件发生在目标区域之外(例如甚至不在浏览器中),因为您不会发现这一点。
关于jquery - JQuery event.which 坏了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19731503/