jQuery.offset在版本3.1.0中不再在chrome中正常工作

时间:2016-09-12 12:13:31

标签: google-chrome svg offset jquery-3

当应用于chrome中的SVG元素时,

jquery.offset始终返回0/0。

<div style="margin: 45px;">
  <svg version="1.1" width="100" height="100" xmlns="http://www.w3.org/2000/svg">
    <g transform="matrix(1,0,0,1,10,10)">
      <path id="zeroPoint" d="M10,5 a5,5 0 0 1 -5,5  l0,-5 zM0,5  a5,5 0 0 1 5,-5  l0,5  zM5,0  a5,5 0 0 1 5,5   l-0.2,0 a 4.8,4.8 0 0 0 -4.8,-4.8 zM5,10 a5,5 0 0 1 -5,-5 l0.2,0  a 4.8,4.8 0 0 0 4.8,4.8   z" transform="matrix(2,0,0,2,-9.71428,-9.71428)"></path>
    </g>
  </svg>
</div>

在Chrome中调用$('#zeroPoint').offset()(至少版本40 - 52(稳定)和53 dev)返回错误位置top: 0, left: 0,而Firefox 48,IE 11&amp; Edge 13返回top: 45.xx, left: 53.xx

Live example on JSFiddle

为什么会这样?

还有一件事:
offset方法在Chrome中以jQuery版本&lt; = 2.2.4开始正常工作:
JSFiddle with jQuery v2.2.4

0 个答案:

没有答案