标签: javascript jquery events dom
如果我从附加了事件处理程序的DOM中删除一个元素,然后在某处添加一个具有相同ID的元素,那么新元素是否会有处理程序?
答案 0 :(得分:6)
不,因为它将是一个不同的对象。如果你使用了jQuery和live(),你会得到这种行为。
live()
答案 1 :(得分:2)
不,但您可以查看事件委派。主要思想是事件将冒泡到父DOM元素,因此您可以将事件处理程序附加到DOM的更高位置。您可以注册一个类似click的事件,并为此处理程序提供有关子元素单击事件应该执行的操作的规则。添加或删除子元素时,此处理程序仍然存在,因此无需在各个元素本身上注册事件处理程序。这是link
答案 2 :(得分:0)
不,新元素不会附加处理程序,您必须重新分配处理程序显式