问题是,如果按下鼠标右键,如何防止刷子事件(刷开始、刷和刷)触发。换句话说,我希望d3画笔只在鼠标左键或鼠标中间按钮按下时才能工作。我没有找到这个问题的直接答案,无论是在这里还是在谷歌上搜索。
发布于 2015-09-03 19:57:10
这就是我想出来的:
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,在找到它之后,我很容易做我想做的事情。
https://stackoverflow.com/questions/32384401
复制相似问题