4

当我左键单击并拖动鼠标时,IE9 无法识别 mousemove 事件。我需要知道鼠标在按下状态下移动时的位置。

其他浏览器运行良好。

这是我的代码的本质:

<html>
<head>
<title>IE9 Failure</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
</head>
<body>
<div id="imgDiv"><img src="http://upload.wikimedia.org/wikipedia/en/1/1e/C.s.lewis3.JPG" alt="C.S. Lewis" /></div>
<div id="logger"></div>

<script>
$('#imgDiv').mousemove(displayMouseXYPos);
$('img').mousedown(function(event)
{
event.preventDefault();
});
var i = 0;
function displayMouseXYPos(e)
{
if (!e) var e = window.event; 
var x = e.clientX + document.body.scrollLeft;
var y = e.clientY + document.body.scrollTop;
i++;
$('#logger').html(i + ') ' + x + ',' + y);
}
</script>
</body>
</html>

只需单击并将鼠标拖动到图像上即可。在 Chrome、FF、Safari、Opera 等中观察“记录器”div 中的数据读数。然后在 IE9 中查看。如何让 IE9 表现得像其他人一样?

非常感谢!

4

2 回答 2

0

我在打开 Compat 模式的机器上测试了您的代码,并得到了您描述的问题。您的浏览器可能已打开兼容模式。

将以下元标记添加到您的页面以告诉 IE 使用最新的渲染器版本进行渲染:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

此标签还将禁止用户为添加到的任何页面打开兼容模式。从而防止他们无意中导致它破裂。

于 2011-09-09T20:53:25.413 回答
0

我将 DOCTYPE 标记添加到我的 HTML 代码的顶部并解决了问题:

<!DOCTYPE html>
<html>
<head>
<title>IE9 Failure</title>
...

感谢所有做出贡献的人。

于 2011-09-14T13:56:26.920 回答