#jquery #d3.js
#jquery #d3.js
Вопрос:
Я боролся с использованием jquery.dotdotdot с d3js. Проблема, с которой я столкнулся, заключалась в том, что после добавления dotdotdot
в текстовый объект я не смог обновить текст с помощью d3.select(...).text("new text)
. Взгляните на этот плунжер.
Я обнаружил, что если я использовал jQuery для замены текста, это работало просто отлично. Мой вопрос в том, в чем разница. Почему это работает, когда сделано таким образом?
text.select("span")
//.text(d.data.label) <=== problem
.each(function(d){
$(this).text(d.data.label); <=== solution (?)
});
Комментарии:
1. Я думаю, возможно, вы неправильно выбираете. Что является первым
text
производным отсюда? github.com/mbostock/d3/wiki/Selections2. Это из этого …
var text = d3.select(this).select("div.label-wrapper").selectAll("div.chart-label").data(pie(was), key);
. Текст обновляется d3, но dotdotdot об этом не знает. Если я повторно инициализирую dotdotdot сразу после того, как d3 обновил текст, он возвращается к исходному тексту, который dotdotdot видел при его первой инициализации.3. Возможно, взгляните на запуск события обновления dotdotdot, видимого внизу страницы, на которую вы ссылались.