Допустим, у меня есть следующий HTML-код
<div id="outer">
<div id="inner">Hello World</div>
</div>
В конце моей HTML-страницы я использую javascript для подключения обработчиков событий, например,
document.getElementById('inner').onclick = function() {alert(this.innerHTML);}
document.getElementById('outer').onclick = function() {
/* An Ajax Call where the response, which will be a string of HTML content, then goes into document.getElementById('outer').innerHTML */
document.getElementById('inner').onclick = function() {alert(this.innerHTML);}
}
В приведенном выше коде я ожидаю возвращения <div id="inner">Hello World 2</div>
, что требует от меня повторного подключения обработчика события onclick. Это имеет смысл, потому что новый ответ, возвращающийся - это просто строка, и я должен сообщить браузеру, что после преобразования в DOM мне также понадобятся некоторые обработчики событий
Итак, мой вопрос: есть ли лучший способ управления обработчиками событий в ответе AJAX, который содержит HTML-контент? Я мог бы использовать встроенный javascript в ответе html, но тогда это мешает мне достичь неинтрузивного javascript. Так есть ли способ добиться ненавязчивого javascript и эффективный способ «поддерживать» обработчики событий html-ответов ajax?