是否可以在转换期间将事件绑定到选择?
例如,假设这是您的更新:
g3.selectAll(".circles")
.data(dataFiltered, function(d){ return d['token']})
.transition().delay(circleDelay).duration(1200)
.attr('r', pointRadius + "px")
.attr('stroke', '#fff')
.attr('stroke-width', 1.5)
.attr("fill",function(d,i){ return (typeof(d[3]) === 'string') ? colorize(d[3]) : null })
.style('cursor',"pointer")
.attr('class',"circles");
它会导致错误链.on('mouseover',function mouseoverlogic(){});
在enter().update().exit()
模式中,可以在exit()
之前将事件绑定到现有选择吗?
答案 0 :(得分:2)
由于过渡是一种特殊的选择,因此您无法使用转换选择的所有可用方法。相反,使用transition.each()将处理程序绑定到转换中的元素。
.transition()
.each(function () {
d3.select(this).on('mouseover', function mouseoverlogic() {});
});