0

标题在这里可能听起来像其他类似的问题,但它是不同的。

因此,我在 DOM 元素#content 中使用 jQuery 动态加载页面。它正在使用$('#content').load()函数插入。就我而言,加载的内容是带有帖子查询的简单按钮。

因此,当第一次加载时,它可以正常工作,当单击加载内容中的按钮时,它会进行 1 个发布查询。然后当我再次加载相同的页面并单击按钮时,它会触发 2 个查询,第三次 3 等等。

我尝试使用 .off() 取消绑定元素事件,但它也不起作用。可能是旧的 DOM 元素没有被删除,但我不知道如何修复它。

更新:刚刚在这里发布了问题,我意识到我的错误......不确定它是否对其他人有帮助,但问题是我的$(document).on('click', '.button')处理程序处于加载内容的函数中,$('#content').load()因此$(document).on('click', '.button')每次加载内容时都会创建事件。通过将此事件处理程序从内部函数移动到函数外部来修复它。但我仍然想知道为什么.off()没有取消绑定事件

4

0 回答 0