2012-09-04 36 views
6

我在繪製d3 line graphstipsy tooltips附加到圓圈上。在Firefox的d3上定位的精巧工具提示,IE

工具提示在Chrome/Safari中正常工作,但在Firefox和IE中,當您將鼠標懸停在某個點上時,同時出現相應的工具提示時,它會顯示在屏幕左上角的圖形/ SVG元素之外html元素)而不是旁邊的點。

這是我如何安裝工具提示:

jQuery('g circle').tipsy({ 
     gravity: 'w', 
     html: true, 
     title: function() { 
      return this.textContent; 
     } 
    }) 

任何意見,對我在做什麼錯,將不勝感激。

回答

1

酒醉在元素上使用offsetWidth和offsetHeight。它假定這些東西適用於SVG元素,不幸的是,這種假設在Chrome/Safari之外是不正確的。

CSSOM規範說offsetWidth/offsetHeight是html元素屬性。看起來Chrome/Safari已經將這些放在他們的SVG元素上,但沒有說明應該是這種情況。

你要麼需要修復醉意才能跨瀏覽器,要麼讓作者去做。使用getTransformToElement和/或getBBox可能是需要的。

+0

已經存在一個可以提供對svg元素支持的趣味分支:https://groups.google.com/forum/?fromgroups=#!topic/d3-js/Y3KBIg16xEg – Duopixel