右键单击笔刷d3.js

wdebmtf2  于 2022-11-12  发布在  其他
关注(0)|答案(1)|浏览(156)

我想在图表上用鼠标右键进行画笔操作。当我用鼠标左键时,我有画笔,但当我用鼠标右键时,我想使用其他功能。现在我用以下代码进行鼠标左键操作:

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

我想做一些类似的,不同的动作为右键点击。这是可能的吗?

kmbjn2e3

kmbjn2e31#

画笔交互在d3 v4中得到了改进。默认情况下,画笔现在会忽略右键单击的上下文菜单;您可以使用brush. filter更改此行为。
如果指定了filter,则将filter设置为指定的函数并返回画笔。如果未指定filter,则返回当前的filter,其默认值为:

function filter() {
  return !d3.event.ctrlKey && !d3.event.button;
}

如果过滤器返回falsey,则忽略初始事件,并且不启动画笔笔势。因此,过滤器确定忽略哪些输入事件。默认过滤器忽略辅助按钮上的鼠标按下事件,因为这些按钮通常用于其他用途,如上下文菜单。

相关问题