Я пытаюсь реализовать обработчики событий перетаскивания и масштабирования для элемента круга, используя d3js. Я добавил поведение для обоих событий, как указано ниже.
var circle = svg.append("circle")
.attr("fill", "green")
.attr("opacity", 0.6)
.attr("cx", 100)
.attr("cy", 100)
.attr("r", 13)
.call(d3.behavior.drag().on("drag", drag))
.call(d3.behavior.zoom().on("zoom", zoom));
без масштабирования объекта перетаскивание работает нормально. после увеличения/уменьшения масштаба объекта перетаскивание не работает, но все события, содержащие наведение мыши, перехватываются как событие «масштабирования».
Полный исходный код см. на странице http://jsfiddle.net/xTaDC/.
Кажется, я не понял "d3.behavior". https://github.com/mbostock/d3/blob/master/examples/mercator/mercator-zoom-constrained.html предоставляет только обработчик масштабирования и обрабатывает как перетаскивание, так и масштабирование.
Что я здесь делаю неправильно?