jQuery event.pageX / pageY在firefox / ie中不一致

时间:2009-08-31 18:10:16

标签: jquery event-handling cross-browser

在尝试将我的一些JS转换为跨浏览器兼容性时,我遇到了一些我无法查明问题的奇怪行为。

我想使用jQuery转换window.event.x(IE特定的),所以我的代码如下:

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

这会在IE中返回正确的值,但在FF中它会返回八位数。有线索吗?

2 个答案:

答案 0 :(得分:1)

确保您使用的是最新版本的jQuery。在官方网站上,它声明已为IE修复了event.pageX和event.pageY,因此您可能不需要使用fix();

答案 1 :(得分:0)

至少在我的本地XP VM上,当使用这样的Javascript时,Firefox和IE 8都会为X / Y坐标返回相同的合理值:

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

在您的示例中对$ .event.fix()的调用可能是对FF输出的影响吗?