我以前见过这个问题一两次,但从来没有一个答案适用于我的问题(据我所知)。 单击链接时会出现一个工具提示。我根据类似于这样的链接的位置设置工具提示的位置:
$('#tooltip').css('left', $(this).position().left);
这在 FF、IE 等中效果很好,但在 Chrome 和 Safari 中,工具提示总是比我想要的左边大约 60 像素左右。我真的不喜欢编写特定于浏览器的代码,所以有任何人知道这会发生吗? 提前致谢。
更新: 我能够通过从链接中删除 margin:0 auto 样式来解决这个问题。 Soooo ...修复了它,但我仍然不知道为什么这是 safari 和 chrome 中的问题。
最佳答案
position() 涉及相对于包含 DOM 元素的位置,而不是屏幕上的位置。这种差异可能是由 Webkit 浏览器中元素层次结构呈现方式的差异引起的,而不是由 jQuery 中的错误引起的。
您将必须检查元素层次结构以找出导致问题的 DOM 元素,或者,如果您想相对于窗口边界内元素的位置定位工具提示,请使用 offset()相反。
关于javascript - jquery position() 在 safari 和 chrome 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5338594/