我一直在尝试获取鼠标相对于元素的位置,但是突然出现了 Microsoft 的一个可爱的失败(或 jQuery 的失败,谁知道?)。
当页面滚动时,jQuerypageY
是正确的,并且在 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);
}
可能只是我在那里遗漏了一些巨大的东西,但它已经困扰了我好几个小时了。有没有办法以任何方式解决这种行为?
提前致谢!