У меня есть группа svg, на которую я вызываю функцию перетаскивания.Что делает d3.select (this) return?
var container=d3.select("#id");
container.call(dragcontainer);
var dragcontainer = d3.drag()
.on("start", function() {})
.on("drag", function (d, i) {
//(d3.select(this)).select("rect");
})
.on("end", function() {});
Видимо, d3.select(this)
не возвращает container
, однако они похожи (проверяется через атрибуты), но только не совсем то же самое.
Почему это происходит? Как я могу получить доступ к container
в вызываемой функции?
Вы можете просто получить доступ к «контейнеру» в закрытии. –
То, что у меня есть, - это всего лишь простой сценарий, в данном случае есть несколько контейнеров, вызывающих одну и ту же функцию перетаскивания, и каждый контейнер должен быть передан другой функции. – SachiDangalla
Ну, 'd3.select (this)' должен выбрать элемент контейнера (хотя сам объект может быть не совсем ровным). –