有人知道是否可以使用d3.js在同一事件上调用两个单独的函数?我知道你可以在JavaScript中通过用分号分隔两个但是在我的特定情况下没有成功做到这一点。我正在使用带有工具提示的强制布局图,并且有两个我想要使用的独立工具提示。在鼠标悬停时,会出现一个工具提示,说明节点的名称然后单击,我想要第二个工具提示来显示其描述。在那个点击,我希望第一个工具提示消失。这是我正在使用的代码块:
.on("click", describe_tip.show)
.on("mouseover", tip.show)
.on("mouseout", tip.hide)
我想与tip.hide
一起调用describe_tip.show
,但不知道正确的语法。
任何建议或帮助都将不胜感激。
答案 0 :(得分:7)
您可以在匿名函数中包含要进行的两个函数调用,例如
.on("click", function(d){
describe_tip.show(d);
tip.hide(d);
})
请注意,由于describe_tip.show
和tip.hide
都需要数据d
作为参数,因此您需要将其传递给它们。回想一下,当将匿名回调函数传递给.on("click", callback)
时,D3传递:
当前数据d和当前索引i,此上下文为当前DOM元素
到callback
函数(docs)。