【发布时间】:2016-05-30 20:40:19
【问题描述】:
正如标题所说,我有一个对象,我需要它的所有拖动和单击事件。有some discussion关于这个问题,但它主要涉及点击和拖动事件。 (并且回复小提琴没有正常工作)
我在这里有一个fiddle。当我拖动时,会阻止单击,但是当我单击 dragstart 和 end 事件时会触发。我希望它们在我单击时不触发,并且我希望在我想要拖动时单击不触发。
var drag = d3.behavior.drag()
.origin(function(d){return d})
.on('drag', function(d){
d3.select(this).attr('cx', function(d){ return d.x += d3.event.dx });
d3.select(this).attr('cy', function(d){ return d.y += d3.event.dy });
console.log('dragging');
})
.on('dragstart', function(d){
d3.event.sourceEvent.stopPropagation()
console.log('drag start');
})
.on('dragend', function(d){
console.log('drag end');
})
// .....
MySvgElementWith3DStuffOnIt.on('click', function(){
if(d3.event.defaultPrevented) return;
console.log('clicked');
});
【问题讨论】:
-
网上有很多例子。我想找一个
标签: javascript d3.js