ale*_*jke 4 right-click mouseevent d3.js
问题是如果按下鼠标右键,我如何防止刷子事件(brushstart,brush和brushend)被触发.换句话说,我希望d3画笔仅在按下鼠标左键或鼠标中键时才会动作.我既没有在这里找到这个问题的直接答案,也没有通过Google搜索来找到答案.
这就是我想出来的:
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)
Run Code Online (Sandbox Code Playgroud)
基本上,您需要在调用画笔函数之前将鼠标按下事件添加到"g"元素.在搜索如何做到这一点时,我来到这里显示的"没有缩放上下文菜单"示例:http://bl.ocks.org/mbostock/6140181在搞清楚后,很容易做我想做的事情.
| 归档时间: |
|
| 查看次数: |
1265 次 |
| 最近记录: |