问题是如何防止在按下右键鼠标时触发画刷事件(brushstart,brush和brushend)。换句话说,我希望只有在按下左键或中间鼠标按钮时才能使用d3画刷。我在这里没找到直接的答案,谷歌搜索也没有。
问题是如何防止在按下右键鼠标时触发画刷事件(brushstart,brush和brushend)。换句话说,我希望只有在按下左键或中间鼠标按钮时才能使用d3画刷。我在这里没找到直接的答案,谷歌搜索也没有。
var brush = d3.svg.brush()
.x(x)
.y(y)
.on("brush", function() {
//brush code
})
.on("brushend", function() {
//brushend code
})
svg.append("g")
.attr("class", "brush")
.on("mousedown", function(){
if(d3.event.button === 2){
d3.event.stopImmediatePropagation();
};
})
.call(brush)
在调用刷子功能之前,您需要向“ g”元素添加鼠标按下事件。在搜索如何做到这一点时,我找到了这里显示的“上下文菜单无缩放”示例:http://bl.ocks.org/mbostock/6140181 找到方法后,我很容易做到了我想做的事情。