如果我有以下html:
<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 条控制台消息。它将为每个后续的 AJAX 加载提供 3,4,5... 消息,但始终为整个页面重新加载提供一个消息。
有人可以解释这种行为并提出可能的解决方案吗?