jquery position()在safari和chrome中无法正常工作

Mun*_*lla 4 javascript safari jquery position google-chrome

我之前看过一次或两次这个问题,但从来没有一个适用于我的问题的答案(据我所知).我有一个工具提示,点击链接时出现.我根据链接的位置设置工具提示的位置,类似于:

$('#tooltip').css('left', $(this).position().left);
Run Code Online (Sandbox Code Playgroud)

这在FF,IE等方面效果很好,但在Chrome和Safari中,工具提示总是大约60像素左右比我想要的更左边.我真的不喜欢编写浏览器特定代码,所以有没有人知道这会发生什么?提前致谢.

更新:我能够通过从链接中删除margin:0自动样式来解决此问题.Soooo ......修复它,但我仍然不知道为什么这是safari和chrome中的问题.

wel*_*rat 6

position()涉及相对于包含DOM元素的位置,而不是屏幕上的位置.差异可能是由于Webkit浏览器中元素层次结构的呈现方式不同而不是jQuery中的错误.

您必须检查元素层次结构以找出导致问题的DOM元素,或者,如果要将工具提示相对于窗口边界内元素的位置进行定位,请使用offset().