0

私は iFrame を作成しています。その iFrame スクリプトでは、作成後にマウス座標をキャッチする必要があります (非常に最初に)。カスタムイベントでそれが可能になることを望んでいました。

私は試した

var myEvent = new Event('mouseC');

document.addEventListener('mouseC', function(e){
    console.log('my event is working');
    console.log('mouse x is '+e.pageX);
    console.log('mouse y is '+e.pageY);
});

document.dispatchEvent(myEvent);

コンソールには「イベントは機能しています」と表示されますが、マウスの座標が未定義です。
でラップしてみましたがwindow.onload、試しscreenXてみましたclientX...常に未定義
作成後、新しく作成されたiFrameのマウス座標をすぐにキャッチするにはどうすればよいですか?

...ところで、mousemoveマウスが新しいiFrameの上に移動すると、イベントが機能し、座標が書き込まれます。
そのイベントをトリガーするために、どうにかしてマウスを 1px だけ移動できますか?

4

2 に答える 2

0
var value =parent.frames[FRAME_NAME].frameElement.offsetParent;
var x = 0, y = 0;
while (value)
{
x += value .offsetLeft;
y += value .offsetTop;
value = value .offsetParent;
//console x anf y...
}

console x と y iframe 内のマウスの座標を取得できます。

于 2015-02-26T12:15:36.813 に答える