D3.js 如何控制d3.brush(右键单击)
我想知道如何更好地控制我的d3.brush组件。 我想对其进行一些额外的控制,例如:D3.js 如何控制d3.brush(右键单击),d3.js,brush,D3.js,Brush,我想知道如何更好地控制我的d3.brush组件。 我想对其进行一些额外的控制,例如: 右键单击(打开一个特殊的菜单,而不是常规的浏览器菜单,也不是奇怪的笔刷行为) 能够禁用可调整大小(即允许用户仅移动画笔而不调整大小)画笔功能(无论何时我想要控制它) 我已经在这里读过一些类似的老问题,但到目前为止运气不好 当我的画笔区域出现右键单击时,我已经可以阅读: //code from an older post function rightClick() { if (d3.ev
- 右键单击(打开一个特殊的菜单,而不是常规的浏览器菜单,也不是奇怪的笔刷行为)
- 能够禁用可调整大小(即允许用户仅移动画笔而不调整大小)画笔功能(无论何时我想要控制它)
//code from an older post
function rightClick() {
if (d3.event.sourceEvent.which == 3 || d3.event.sourceEvent.button
== 2) { //3==firefox, 2==ie
return true;
} else {
return false;
}
}
下面是我使用rightClicl()返回的代码:
函数刷过(){
如果(右键单击()){
log(“右键单击:+rightClick());
}
否则{
log(“右键单击:”+rightClick())
x、 域(brush.empty()?x.domain():brush.extent());
如果(!brush.empty()){
//做点什么,重新画出来
}
else{//correctiong when brush.empty()将x.domain重新启动为常规值
重置视图();
}
}//第一个结束
}
但每次rightClick()为真时,我的画笔仍“作为常规”左键单击
感谢您的帮助/见解
谢谢你抽出时间
event.stopImmediatePropagation()
,成功了
g.selectAll(".extent")
.on("mousedown", function() {
if (d3.event.button === 2) { // only enable for right click
d3.event.stopImmediatePropagation();
}
})
.on("contextmenu", d3.contextMenu(menu));
// after call brush
brushG.selectAll(“.resize”).remove();
// after call brush
brushG.selectAll(“.resize”).remove();