0

要素に相対的なマウスの位置を取得しようとしてきましたが、Microsoft の素敵な失敗 (または jQuery の失敗) の 1 つが発生しました。

ページがスクロールされると、jQuery のpageY動作は正しく、Chrome、Firefox、さらには IE8 でも同様です (まあ、正しい動作だと思いますか?)。ただし、IE9 以降でpageYは、ユーザーに表示される上部に相対的です。
……説明下手です。これを見てください。最初の例では、Firefox/Chrome/Safari/Opera と IE9+ の動作を比較します。位置は同じではありません (少なくとも私の場合は同じではありません)。

必要な場合に備えてコードを簡略化したバージョンですが、この場合に役立つかどうかは疑問です。

$("#element").click(function (e) {
    var pos = $(this).offset();
    console.log(e.pageX - pos.left, e.pageY - pos.top);
}

そこに巨大な何かが欠けているのは私だけかもしれませんが、何時間も私を悩ませています. この動作を何らかの方法で修正する方法はありますか?

前もって感謝します!

4

1 に答える 1