私のウェブページのdiv内に外部ウェブページ(この例ではwww.duckduckgo.com)を読み込んでいます。 divの内側と外側にあるマウスのXとYの位置を取得したいのですが、divの内側にあるときに、ウェブページがonmousemove
イベントの発生をブロックしているようです。ただし、div32に入るとonmouseover
イベントは1回だけ発生します。ここで onmousemoveイベントは外部ソースから発生しませんか?
function mouseEvent(event) {
var x = event.clientX;
var y = event.clientY;
document.getElementById('label').innerHTML = 'X=' + x + ' Y=' + y;
}
html {
height: 100%;
width: 100%;
}
body {
height: 100%;
width: 100%;
overflow: hidden;
margin-left: 0px;
margin-top: 0px;
margin-bottom: 0px;
margin-right: 0px;
}
#form1 {
height: 100%;
width: 100%;
}
#pageDiv {
height: 100%;
width: 100%;
}
#page {
height: 100%;
width: 100%;
}
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div id="pageDiv">
<label id="label">hello</label>
<object id="page" type="text/html" data="https://duckduckgo.com/" onmousemove="mouseEvent(event)" onmouseover="mouseEvent(event)">
</object>
</div>
</form>
</body>
</html>
外部ソース)? mouseEvent関数の先頭にevent.preventDefault();
を追加しようとしましたが、これは何の助けにもなりませんでした。
外部のウェブページが私のフォーカスを盗んでいると推測しています。を離れています。これは本当ですか?とにかく、私は一定のX座標とY座標を更新できますか?
手を貸すことができwindow'代わりに 'にイベントを接続します。同じ原点のポリシーが汚染されたオブジェクトからのイベントを防ぐことができます。 – adeneo
@adeneoそれは仕事ではありません。私は次のコードを '$(window).mousemove(mouseMove(event));'というHTML文書のスクリプトセクションに追加しました。問題はまだ存在します。 –
[この回答](https://stackoverflow.com/a/5261351/1009922)をご覧ください。私が理解しているように、あなたは「不運」状態に陥っているかもしれません。 – ConnorsFan