Jquery 我应该在删除元素时删除处理程序吗?

Jquery 我应该在删除元素时删除处理程序吗?,jquery,Jquery,我只在jQuery上工作了几天,所以这个问题可能不是很有趣。 我在ajax上按按钮时重新加载了DIVDIV内容本身注册单击按钮的处理程序。所以问题是:我是否应该删除加载内容已注册的处理程序 我做了一些小实验,看起来我不应该做。但这真的是真的吗?如果从DOM中删除了元素,并且没有对它们的进一步引用,那么事件处理程序最终也会被垃圾收集 但是如果你有推荐人,比如 var someElement = document.getElementById('someId') 然后,即使更新过程删除了该元素,s

我只在jQuery上工作了几天,所以这个问题可能不是很有趣。 我在ajax上按按钮时重新加载了DIVDIV内容本身注册单击按钮的处理程序。所以问题是:我是否应该删除加载内容已注册的处理程序


我做了一些小实验,看起来我不应该做。但这真的是真的吗?

如果从DOM中删除了元素,并且没有对它们的进一步引用,那么事件处理程序最终也会被垃圾收集

但是如果你有推荐人,比如

var someElement = document.getElementById('someId')

然后,即使更新过程删除了该元素,
someElement
仍将保留对该元素的引用。这也意味着事件处理程序仍然存在于内存中。

如果从DOM中删除元素,并且您没有对它们的进一步引用,那么事件处理程序最终也会被垃圾收集。@FelixKling,我不擅长js。js中的引用是什么样子的?例如
var someElement=document.getElementById('someId')
。即使更新过程删除了该元素,
someElement
仍将保留对该元素的引用,并可以访问其关联数据。您是说DIV也在接收单击功能吗?如果是这样的话,您可能需要使用文档->@FelixKling中的e.stopPropagation(),非常感谢。这就是我想要的。