【问题标题】:How to disable brush selection on right click in d3.js如何在d3.js中右键单击禁用画笔选择
【发布时间】:2015-09-03 19:57:10
【问题描述】:

问题是如果按下鼠标右键,我如何防止画笔事件(brushstart、brush 和brushend)触发。换句话说,我希望 d3 笔刷仅在按下鼠标左键或鼠标中键时才起作用。我在这里和谷歌搜索都没有找到这个问题的直接答案。

【问题讨论】:

    标签: d3.js mouseevent right-click


    【解决方案1】:

    这是我想出的:

    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 在弄清楚之后,很容易做我想做的事。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多