Если у меня есть следующий HTML:как использовать JQuery на() в динамически загружаемых скриптов
<html>
<div id="main_content">
<button>click me</button>
<script src="main.js" ></script>
</div>
</html>
И main.js:
$('#main_content').on('click', 'button', function() {
console.log('you clicked');
});
Если я сделать полную загрузку страницы, а затем нажав кнопка регистрирует только одно консольное сообщение. Если, однако, я впоследствии повторно загружаю содержимое main_content's
через запрос AJAX, тогда каждый щелчок кнопки дает 2 сообщения консоли. Он будет давать 3,4,5 ... сообщения для каждой последующей нагрузки AJAX, но всегда один для полной перезагрузки страницы.
Может кто-нибудь объяснить это поведение и предложить возможные решения?
переместите сценарий в голову или на самом дне тела. – Bergi