【发布时间】:2013-01-13 23:54:39
【问题描述】:
当事件目标位于 <img> 元素上方且缺少背景时,Internet Explorer 不会触发 onmousemove 事件。
但是当目标有背景时它会注册事件。有人对此有解释吗?我在 IE10、IE9 和 IE8 中的行为相同。
在这里提琴: http://jsfiddle.net/xSpqE/2/
【问题讨论】:
-
+1 个有趣的问题。我知道这不是您所要求的,但是给覆盖层一个背景,例如
background:rgba(0,0,0,0);似乎可以在 IE10 预览中修复它。 fiddle -
可以看到,在没有被图片覆盖的方框部分,文字确实更新了。
-
^ 其实恰恰相反。叠加层覆盖图像。带有背景的叠加层触发
mousemove。更有趣的是,如果您将一些文本内容添加到叠加层而不对其应用任何背景样式,则仅当您将鼠标移到文本上方时才会触发 mousemove 事件。还有一个我以前从未遇到过的 IE 错误。我想我只是不经常使用mousemove。 -
正如您的问题所暗示的,
position:absolute及其下方的图片与问题直接相关。例如,覆盖部分位于图像上方的 fiddle 将表明,当您将位于绝对定位覆盖下方的图像悬停时,IE 仅无法触发 mousemove 事件。
标签: javascript internet-explorer