【问题标题】:onMouseMove not working properly in IE11onMouseMove 在 IE11 中无法正常工作
【发布时间】:2015-01-02 19:22:46
【问题描述】:

我的页面中有一个网格,当鼠标移动到客户端网格的标题上时,我想做一些操作

这是我的脚本

$("th").mousemove(function(event){ alert("moved");})

在 IE11 中,如果我将鼠标指针放在标题上,则会引发警报消息,直到失去焦点 但在 Chrome 中,仅当鼠标移到标题上时才会引发警报消息

【问题讨论】:

  • 我已经在 Chromium 和 IE11 上测试了该 sn-p 的行为。它似乎按预期工作。您知道当有警报时 JS 执行会停止,对吧?
  • 是的,它应该停止在 Chrome 中的工作。但在 IE11 中,它会连续显示警报消息,直到失去焦点。我正在使用基础设施网格。
  • 使用这个 sn-p (jsfiddle.net/5vq0z5L8) 我的行为完全相反,IE11 会触发一次事件,chrome 会在光标仍悬停在 标签上时重复触发事件(即使鼠标不动)
  • 一旦我在警报消息框上单击确定,它会在 chrome 中消失,但在 ie 中,即使单击确定按钮后它也会一次又一次地显示(使用空格按钮而不是鼠标单击)
  • luca ie 反复触发,但 chrome 在悬停时只触发一次

标签: jquery google-chrome internet-explorer-11


【解决方案1】:

这确实是一种奇怪的情况,因为 mousemove 事件的正确行为是在鼠标移动并且在不移动光标的情况下使用键盘(Enter 或空格)关闭警报时触发一次。

$(document).ready(function() {
    $("th").mousemove(function(event){ alert("moved");})
});

对于this code,我在 IE 11.0.9600.17498 和 Firefox 34.0 上的行为是正确的,而对于 Chrome 版本 39.0.2171.95 m,我的行为是“坏的”,但这似乎是一个已经讨论过 here 的已知错误

Chromium 的This is the open issue 证实了这一“理论”

【讨论】:

猜你喜欢
相关资源
最近更新 更多
热门标签