我试图将Tipsy悬停式弹出窗口添加到3个节点的简单力导向图中。

但是,添加Tipsy javascript似乎会使我的javascript崩溃:
http://goo.gl/BeYls

Chrome Web开发人员控制台注意事项:


  未捕获的TypeError:对象[object SVGCircleElement],[object
  SVGCircleElement],[object SVGCircleElement]没有方法'tipsy'


我确信没有Tipsy代码的应用程序其余部分都可以正常工作(因为取出第78-85行修复了该应用程序),并且我已经包含了javascript文件。

具体来说,这是我编写的将Tipsy弹出窗口添加到DOM中的每个节点的代码。

  node.tipsy({
    gravity: 'w',
    html: true,
    title: function() {
    var d = this.__data__, n = d.name;
        return 'Hi there! My name is <b>' + n + '</b>';
    }
  });


为什么会破裂?节点不是DOM元素吗?

最佳答案

Tipsy是一个jQuery插件。您需要将其应用于jquery选择器,而不是d3选择器。由于您的圈子有css类“节点”,因此应该可以:

$(".node").tipsy({ ... });

09-20 01:08