我想在图表上用鼠标右键进行画笔操作。当我用鼠标左键时,我有画笔,但当我用鼠标右键时,我想使用其他功能。现在我用以下代码进行鼠标左键操作:
let brush = d3.brush()
.extent( [ [0,0], [width,height] ] )
.on("start", function () {(scatter.attr("pointer-events","none"))})
.on("end", updateChart)
我想做一些类似的,不同的动作为右键点击。这是可能的吗?
1条答案
按热度按时间kmbjn2e31#
画笔交互在d3 v4中得到了改进。默认情况下,画笔现在会忽略右键单击的上下文菜单;您可以使用brush. filter更改此行为。
如果指定了filter,则将filter设置为指定的函数并返回画笔。如果未指定filter,则返回当前的filter,其默认值为:
如果过滤器返回falsey,则忽略初始事件,并且不启动画笔笔势。因此,过滤器确定忽略哪些输入事件。默认过滤器忽略辅助按钮上的鼠标按下事件,因为这些按钮通常用于其他用途,如上下文菜单。