Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用鼠标右键单击刷d3.js_Javascript_D3.js - Fatal编程技术网

Javascript 用鼠标右键单击刷d3.js

Javascript 用鼠标右键单击刷d3.js,javascript,d3.js,Javascript,D3.js,我想在我的图表上用鼠标右键点击画笔。当我使用左键单击时,我有一个画笔,但当我使用右键单击时,我想使用其他功能。现在,我将此代码用于左键单击: let brush = d3.brush() .extent( [ [0,0], [width,height] ] ) .on("start", function () {(scatter.attr("pointer-events","none"))}) .on("end",

我想在我的图表上用鼠标右键点击画笔。当我使用左键单击时,我有一个画笔,但当我使用右键单击时,我想使用其他功能。现在,我将此代码用于左键单击:

let brush = d3.brush()               
        .extent( [ [0,0], [width,height] ] )
        .on("start", function () {(scatter.attr("pointer-events","none"))})  
        .on("end", updateChart)

我想做一些类似的事情,用不同的动作右击。可能吗

在d3 v4中,笔刷交互得到了改善。默认情况下,笔刷现在忽略用于上下文菜单的右键单击;可以使用brush.filter更改此行为

如果指定了过滤器,则将过滤器设置为指定的函数并返回画笔。如果未指定筛选器,则返回当前筛选器,默认为:

function filter() {
  return !d3.event.ctrlKey && !d3.event.button;
}
如果过滤器返回falsey,则忽略启动事件,并且不会启动画笔手势。因此,过滤器确定忽略哪些输入事件。默认过滤器会忽略次按钮上的鼠标向下事件,因为这些按钮通常用于其他目的,如关联菜单