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