大家好!
有一项任务是删除元素并创建其他元素。需要删除的元素和新元素都附加了 .click() 和 .hover() 事件。
在删除旧元素之前删除这些事件处理程序(例如通过相同的 .unbind('click') )是否值得,它们是否会位于浏览器的内存中并因此受到干扰,或者我们应该只使用 .remove() 而其他一切都会被自己删除?
PS-“根据可能的重复项”我的问题的答案完全让我满意,但是可能的重复项的答案不包含此内容,因此它不是重复项,而只是相似而已。我可以清楚地看到哪个答案对我更有用。谢谢你。
如果您使用的是 jQuery,那么您需要记住该方法
.remove()- 删除元素本身、其中的所有内容、与此元素关联的所有数据以及所有事件处理程序(click、、hover...)如果您需要从页面中删除一个元素而不丢失上述所有内容,那么您应该使用
.detach(). 这可能是必要的,例如,如果您需要将元素移动到文档中的另一个位置。如果要复制现有元素及其所有数据和行为,请使用方法
.clone(true, true),其中第一个 true 表示复制数据和处理程序,第二个 true 表示从嵌套元素复制数据和处理程序。