Javascript D3js拖动与单击
我正在为节点编写一个带有拖放和单击功能的d3js树。我遇到了这个例子 但是这个例子与在chrome和firefox上的表现不同。 单击矩形时:Javascript D3js拖动与单击,javascript,google-chrome,firefox,d3.js,Javascript,Google Chrome,Firefox,D3.js,我正在为节点编写一个带有拖放和单击功能的d3js树。我遇到了这个例子 但是这个例子与在chrome和firefox上的表现不同。 单击矩形时: 铬输出:OnDrag、OnDragEnd、OnClick Firefox输出:OnClick 当我拖放矩形时: 铬输出:OnDrag,OnDragEnd Firefox输出:OnDrag,OnDragEnd 有没有办法让chrome在点击时表现得和firefox一样 container .call(dragBehavior)
- 铬输出:OnDrag、OnDragEnd、OnClick
- Firefox输出:OnClick
- 铬输出:OnDrag,OnDragEnd
- Firefox输出:OnDrag,OnDragEnd
container
.call(dragBehavior)
.on('click', onClick);
到
我正在使用Chromium,它就像Firefox一样。如果添加
d3.event.stopPropagation()代码>在flashRect()之后
在onClick中,它能工作吗?@TimB将stopPropagation添加到onClick函数将不起任何作用,因为我需要停止触发onDrag,并且在onClick之前触发onDrag我猜。on('dragend',onDragStart)
应该是。on('dragstart',ondragstarg)
container
.call(dragBehavior)
.on('click', onClick);
container
.on("mousedown", function() {
d3.event.stopPropagation();
d3.select(this).on("mouseup", onClick);
d3.select(this).on("mousemove", function()
{
d3.select(this).call(dragBehavior);
});
});