У меня есть три элемента svg
на одной странице, каждая из которых назначается D3. Каждый из них имеет собственную логику изменения размера страницы, назначаемую простой модуль, который я написал, чтобы сделать их отзывчивыми.
Проблема заключается в том, что только последнее событие изменения размера запускается, поскольку оно, похоже, перезаписало события изменения размера более ранней страницы. Является ли это ожидаемым поведением d3.select(window).on('resize', ...)
? Я привык к $(window).resize(...)
, который отлично работает при многократном вызове.
Я видел этот предыдущий ответ, что в D3 возможны несколько событий изменения размера. Я что-то делаю глупо?
Вот простой пример я застрял на jsFiddle:
d3.select(window).on("resize", function() {
d3.select("#d3console").append("div").html("d3 resize event A!");
});
d3.select(window).on("resize", function() {
d3.select("#d3console").append("div").html("d3 resize event B!");
});
$(window).bind("resize", function() {
d3.select("#jQconsole").append("div").html("jQ resize event A!");
});
$(window).bind("resize", function() {
d3.select("#jQconsole").append("div").html("jQ resize event B!");
});
Какие выходы:
d3 resize event B!
d3 resize event B!
jQ resize event A!
jQ resize event B!
jQ resize event A!
jQ resize event B!
Я знаю, что можно сохранить шунтирование предыдущей функции изменения размера в цепочку так же. Просто ожидал различного поведения от D3.