Javascript 从DOM中删除元素是否会影响它们的事件处理程序?

Javascript 从DOM中删除元素是否会影响它们的事件处理程序?,javascript,jquery,events,dom,Javascript,Jquery,Events,Dom,如果我从DOM中删除一个附加了事件处理程序的元素,然后在某处添加一个具有相同ID的元素,新元素会有处理程序吗?否,因为它将是一个不同的对象。如果您使用jQuery,您将获得这种行为。否,新元素将不会附加处理程序,您必须明确地重新分配处理程序,但您可以查看事件委派。其主要思想是事件将冒泡到父DOM元素,这样您就可以将事件处理程序附加到DOM的更高位置。您可以注册一个类似于click的事件,并为这个处理程序提供关于它应该如何处理子元素click事件的规则。当添加或删除其子元素时,该处理程序仍然存在,

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

否,因为它将是一个不同的对象。如果您使用jQuery,您将获得这种行为。

否,新元素将不会附加处理程序,您必须明确地重新分配处理程序,但您可以查看事件委派。其主要思想是事件将冒泡到父DOM元素,这样您就可以将事件处理程序附加到DOM的更高位置。您可以注册一个类似于click的事件,并为这个处理程序提供关于它应该如何处理子元素click事件的规则。当添加或删除其子元素时,该处理程序仍然存在,因此不需要在单个元素上注册事件处理程序。这里有一个

注意,
live()
并不是jQuery的神奇之处:它只是一个事件委托的应用程序,可以在没有外部库的情况下完成;不过,为了使其可用,您基本上必须自己编写一个跨浏览器包装器