Как получить выделение, которое перетаскивается d3.js ?

#d3.js

#d3.js

Вопрос:

Я использую API поведения d3 для реализации некоторых функций перетаскивания на моей диаграмме. На диаграмме есть несколько кругов, и я хочу сделать так, чтобы круги могли перемещаться, когда пользователь перетаскивает их.

Но я не знаю, как получить ссылку на круг, который перетаскивается пользователем. В приведенном ниже коде, где и как получить ссылку на выделение и текущее положение мыши?

 var drag = d3.behavior.drag()
                .on("dragstart", function(){
                    //do some drag start stuff...
                    console.log('drag start');
                })
                .on("drag", function(){
                    //hey we're dragging, let's update some stuff
                })
                .on("dragend", function(){
                    //we're done, end some stuff
                    console.log('drag end');
                });
 

Кто-нибудь, пожалуйста, помогите!

Комментарии:

1. Посмотрите, как эти 3 функции реализованы в этом примере .

2. Спасибо, чувак! Это именно то, что я ищу!!

Ответ №1:

Вы получаете текущий выбор из

 d3.selection(this)
 

Если вы хотите получить текущее положение мыши, используйте этот код

 d3.mouse(this)
 

Это возвращает массив, где [0] возвращает позицию мыши x, а [1] возвращает позицию y.