2009-06-16 5 views
1

JSでは、DIVの中でどのようにマウス座標を取得できますか? event.pageXを使用すると、DIVがページの左上隅にある場合にのみ動作します。そうでなければ、ページ内のDIVの位置を知り、そこからevent.pageXを引く必要があります。これは、各DIVの位置を追跡しなければならないので、DIVを動的に生成するときは難しいです。何か案は?JSでは、DIVの中でどのようにマウス座標を取得できますか?


絶対位置でDIVを定義すると、event.layerXとevent.layerYがFFで見つかるようです。ここでは簡単な例です:

http://www.zangware.com/divpos.html

しかし、IEで、event.layerX/Yは、DIVの内側に定義されていません。何か案は?

答えて

3

あなた自身の質問に答えてくれたように聞こえます。 divの左上隅のx座標とy座標からマウスのx座標とy座標を減算するよりも、div内からカーソル位置を簡単に見つけるためのショートカットは認識していません。マウスカーソルが動くたびにDOMのルックアップを避けるためにdivの位置をキャッシュするようにしてください。

+0

ショートカットがあるかどうか疑問に思っていました。 – 1qazxsw2

1

それほど難しくありません。各要素にはoffsetTopプロパティとoffsetLeftプロパティがあります。これを現在のマウスの位置で使用すると、相対位置を把握できます。

関連する問題