Что ж, довольно странно, что первым результатом в Google является этот ответ, и он не дает актуального ответа.
В любом случае, для тех, кому нужно прикрепить событие к динамически создаваемым элементам, начиная с dojo 1.7, можно использовать делегирование события. Простой пример будет:
require(["dojo/on", "dojo/query"], function(on) {
on(parentElement, '.child-selector:click', function(e) {
alert('clicked');
});
});
Я считаю, что этот код довольно понятен, поэтому я не буду вдаваться в подробности. Тем не менее, есть некоторые достойные замечания по делегированию событий:
Обратите внимание, что делегирование событий будет работать только для событий, которые всплывают. Наиболее
События DOM всплывают, но есть несколько исключений. mouseenter
и mouseleave
события не всплывают, но mouseover
и mouseout
пузырящиеся аналоги. События focus
и blur
не всплывают,
но dojo / on нормализует focusin
и focusout
как пузырьковые эквиваленты.
Кроме того, scroll
события не всплывают.
И конечно же, не забудьте сначала загрузить dojo/query
...
Обратите внимание, что для работы делегирования события должен быть загружен dojo / query.
Подробнее для получения дальнейших инструкций ... Надеюсь, это поможет!