从DOM中删除元素是否会影响其事件处理程序?

时间:2010-03-02 14:42:35

标签: javascript jquery events dom

如果我从附加了事件处理程序的DOM中删除一个元素,然后在某处添加一个具有相同ID的元素,那么新元素是否会有处理程序?

3 个答案:

答案 0 :(得分:6)

不,因为它将是一个不同的对象。如果你使用了jQuery和live(),你会得到这种行为。

答案 1 :(得分:2)

不,但您可以查看事件委派。主要思想是事件将冒泡到父DOM元素,因此您可以将事件处理程序附加到DOM的更高位置。您可以注册一个类似click的事件,并为此处理程序提供有关子元素单击事件应该执行的操作的规则。添加或删除子元素时,此处理程序仍然存在,因此无需在各个元素本身上注册事件处理程序。这是link

答案 2 :(得分:0)

不,新元素不会附加处理程序,您必须重新分配处理程序显式