В D3, если вы определили функцию перетаскивания, как это:D3 События мыши - Нажмите и DragEnd
var drag = d3.behavior.drag()
.on("drag", function() {alert("drag")})
.on("dragend", function() {alert("dragEnd")});
Вы действительно не можете сделать следующее:
d3.select("#text1")
.on("click", function(d,i) {alert("clicked")})
.call(drag);
Причина в том, что щелчок после этого начнется стрельба. На мой взгляд, должно быть отдельное событие для нажатия, потому что я вижу огромную разницу между dragend и click.
Чтобы различать щелчок и конец события перетаскивания в элементе SVG, каково было бы решение?
но это решение не работает на Chrome. Я имею в виду, что dragend всегда срабатывает до щелчка – mhd