使用d3.js在相同的单击事件上调用两个函数

noc*_*013 12 javascript onclick tooltip d3.js

有人知道是否可以使用d3.js在同一事件上调用两个单独的函数?我知道你可以在JavaScript中通过用分号分隔两个但是在我的特定情况下没有成功做到这一点.我正在使用带有工具提示的强制布局图,并且有两个我想要使用的独立工具提示.在鼠标悬停时,会出现一个工具提示,说明节点的名称然后单击,我想要第二个工具提示来显示其描述.在那个点击,我希望第一个工具提示消失.这是我正在使用的代码块:

         .on("click", describe_tip.show)
         .on("mouseover", tip.show)
         .on("mouseout", tip.hide) 
Run Code Online (Sandbox Code Playgroud)

我想打电话给tip.hide沿describe_tip.show,但不知道正确的语法.

任何建议或帮助将不胜感激.

mdm*_*dml 9

您可以在匿名函数中包含要进行的两个函数调用,例如

.on("click", function(d){
    describe_tip.show(d);
    tip.hide(d);
})
Run Code Online (Sandbox Code Playgroud)

请注意,既然describe_tip.show并且tip.hide都需要数据d作为参数,您需要将它传递给它们.回想一下,当传递一个匿名回调函数时.on("click", callback),D3传递:

当前数据d和当前索引i,此上下文为当前DOM元素

callback函数(docs).