我在我的图表上附加了缩放功能,它工作正常。
当我将鼠标悬停事件附加到图表中的项目(矩形)时,鼠标悬停会触发,但不会调用缩放。
我试图让鼠标悬停使工具提示出现,并且“鼠标单击并拖动”使图表仅在 y 轴上平移。
有没有一种简单的方法可以让它们一起工作,或者我应该像这个例子一样自定义事件?
http://bl.ocks.org/stepheneb/1182434
bar = g.selectAll(".bar")
.data(currentData)
.enter().append('rect')
.attr("class", "horizontal bar")
.attr("x", 0)
.attr("height", ordinalScale.rangeBand())
.attr("y", function(d) {
return ordinalScale(d.key);
})
.attr("width", 0)
.on("mouseover", function(d) {
tooltip = d3.select("body").append("div")
.attr("class", "tooltip")
.style("opacity", 0);
tooltip.style("left", (d3.event.pageX - 80) + "px")
.style("top", (d3.event.pageY) + "px")
.append('p')
.text(d.key)
.attr('class', 'tootip-key')
.append('p')
.text(d.value)
.attr('class', 'tooltip-value');
tooltip.transition()
.duration(200)
.style("opacity", 0.9);
})
.on("mouseout", function(d) {
tooltip.remove();
});
并且缩放行为是这样附加的。
g.append("g")
.attr("class", "y axis")
.call(yAxis)
.attr("pointer-events", "all")
.call(d3.behavior.zoom().on("zoom", zoom));
谢谢!