我一直试图让鼠标相对于一个元素的位置,但微软的一个可爱的失败(或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);
}
可能只是我在那里遗漏了一些巨大的东西,但现在已经困扰了我几个小时。有没有办法以任何方式解决这个问题?
提前致谢!
答案 0 :(得分:0)
尝试pageYOffset& pageXOffset。 此外,您不会将.pageXOffset绑定到事件,而是绑定到元素 - 所以请执行$(window).pageXOffset