标题可能听起来像其他类似的问题,但它是不同的。
所以,我在DOM元素#content中使用jQuery动态加载页面。
它使用$('#content').load()
函数插入。在我的例子中,加载的内容是带查询的简单按钮。
因此,当第一次加载时,它可以正常工作,当单击加载内容中的按钮时,它会进行1次查询。 然后,当我再次加载相同的页面并单击按钮时,它会触发2个查询,第三次触发3,依此类推。
我尝试使用.off()取消绑定元素事件,但它也不起作用。它可能是旧的DOM元素没有被删除但我不知道如何解决它。
更新:
刚发布问题,我意识到自己的错误......
不确定它对其他人会有帮助,但问题是我的$(document).on('click', '.button')
处理程序功能正在使用$('#content').load()
加载内容,因此每次加载内容时都会创建$(document).on('click', '.button')
事件。通过将此事件处理程序从内部函数移动到其外部来修复它。但我仍然想知道为什么.off()
没有取消绑定事件