Zdarzenia myszy D3 - kliknij i przeciągnij

W D3, jeśli zdefiniowałeś funkcję przeciągania w następujący sposób:

var drag = d3.behavior.drag()
        .on("drag", function () {alert("drag")})
        .on("dragend", function () {alert("dragEnd")});

Naprawdę nie możesz wykonać następujących czynności:

d3.select("#text1")
.on("click", function(d,i) {alert("clicked")})
.call(drag);

Powodem jest to, że kliknięcie zostanie wystrzelone po tym, jak „przeciągnięcie” wystrzeli. Moim zdaniem powinno być oddzielne wydarzenie do kliknięcia, ponieważ widzę ogromną różnicę między przeciągnięciem a kliknięciem.

Jakie byłoby rozwiązanie, aby odróżnić klikanie i zakończenie zdarzenia przeciągania w elemencie SVG?

questionAnswers(2)

yourAnswerToTheQuestion