要素に相対的なマウスの位置を取得しようとしてきましたが、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);
}
そこに巨大な何かが欠けているのは私だけかもしれませんが、何時間も私を悩ませています. この動作を何らかの方法で修正する方法はありますか?
前もって感謝します!