2009-08-31 7 views
2

私のJSのいくつかをブラウザ間の互換性に変換しようとすると、私は問題を特定できない奇妙な動作に出くわしました。jQuery event.pageX/pageY firefox/inc内で一貫性がない

私は次のように私のコードが見える、jQueryのを使用してwindow.event.x(IEの特定)を変換したい:

function someFunction(e){ 
    var ev = $.event.fix(e); 
    alert(ev.pageX); 
} 

しかしこれはFFで、それは8を返します、IEで正しい値を返します。 -digit number。すべての手がかりは?

答えて

0

少なくとも私の地元のXP VM上で、FirefoxとIE 8の復帰Xで同じ合理的な値の両方/ YのCOORDSこのようにJavascriptを使用して:

$('#some-big-div').click(function(e) { 
    console.log("mouse coords: (" + e.pageX + ", " + e.pageY ")") 
} 

おそらく呼び出しに$ .event.fixあなたの例ではFF出力をb0rkingしていますか?

+0

ありがとうございました。これは必ずしもjQueryの問題ではなく、むしろFFに特有のものであるようです。イベントobjの火かき棒をチェックすると、同じ大きさの#が表示されます。 –

1

jQueryの最新バージョンを使用していることを確認してください。公式サイトでは、event.pageXとevent.pageYがIE用に修正されたので、使用する必要はないと書いてあります。fix();

+0

お返事ありがとうございます。私は最新のvのjQueryを使用していますが、fix()を使わなくても一貫性のない値が返されます。 firebugでイベントオブジェクトをチェックすると、同じ8桁の数字が表示されるので、確かにjQueryコールではありません。 –

関連する問題