滚动时,IE9 +中的jQuery的pageY

时间:2013-07-31 21:19:25

标签: jquery position

我一直试图让鼠标相对于一个元素的位置,但微软的一个可爱的失败(或jQuery,谁知道?)突然出现。

当滚动页面时,jQuery的pageY在Chrome,Firefox甚至IE8上是正确的(好吧,我认为这是正确的行为?)。但是,在IE9及更高版本中,pageY相对于可见顶部的用户 ......我不善于解释事情。看看this。在第一个例子中,比较Firefox / Chrome / Safari / Opera和IE9 +之间的行为;这些职位不一样(至少在我的情况下他们不一样)。

我的代码的简化版本,如果需要的话,但我怀疑它在这种情况下是有用的还是什么:

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

可能只是我在那里遗漏了一些巨大的东西,但现在已经困扰了我几个小时。有没有办法以任何方式解决这个问题?

提前致谢!

1 个答案:

答案 0 :(得分:0)

尝试pageYOffset& pageXOffset。 此外,您不会将.pageXOffset绑定到事件,而是绑定到元素 - 所以请执行$(window).pageXOffset