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などの「logger」divでデータの読み取り値を確認します。次に、IE9でデータを確認します。IE9を他のIE9と同じように動作させるにはどうすればよいですか?

どうもありがとう!

4

2 に答える 2

0

Compat モードをオンにして自分のマシンでコードをテストしたところ、説明した問題が発生しました。ブラウザで互換モードが有効になっている可能性があります。

次のメタ タグをページに追加して、最新のレンダラー バージョンを使用してレンダリングするように IE に指示します。

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

また、このタグは、これが追加されたページでユーザーが互換モードをオンにできないようにします。したがって、不注意で破損するのを防ぎます。

于 2011-09-09T20:53:25.413 に答える
0

HTML コードの先頭に DOCTYPE タグを追加したところ、問題は解決しました。

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

貢献してくれたすべての人に感謝します。

于 2011-09-14T13:56:26.920 に答える