jQuery:删除元素,那么事件侦听器呢?

jQuery:删除元素,那么事件侦听器呢?,jquery,event-listener,Jquery,Event Listener,只是好奇,事件侦听器发生了什么 $('a.someclass', 'div.contextClass').on('click', function someFunction(){ console.log('clicked!'); }); 当我删除div.contextClass时 $('div.contextClass').remove(); 我需要先做这个吗 $('a.someclass', 'div.contextClass').off('click'); 不 当上下文或父级(

只是好奇,事件侦听器发生了什么

$('a.someclass', 'div.contextClass').on('click', function someFunction(){
    console.log('clicked!');
});
当我删除div.contextClass时

$('div.contextClass').remove();
我需要先做这个吗

$('a.someclass', 'div.contextClass').off('click');
不 当
上下文
父级
)本身被删除时,其中的所有内容(
)都将从DOM中删除。事件处理程序仅在事件发生时执行处理程序

但是当元素本身不存在时,它不会得到可以处理的事件,因为您没有元素来执行类似于
单击
聚焦
或其他操作。

否。 当
上下文
父级
)本身被删除时,其中的所有内容(
)都将从DOM中删除。事件处理程序仅在事件发生时执行处理程序


但是当元素本身不存在时,它不会得到可以处理的事件,因为您没有元素来执行类似于
单击
聚焦
或其他操作。

请参考jquery参考文档

.remove()方法将元素从DOM中取出。如果需要,请使用.remove() 要删除元素本身以及其中的所有内容In 除了元素本身,所有绑定事件和jQuery数据 与元素关联的元素将被删除。删除元素 在不删除数据和事件的情况下,请改用.detach()


请参阅jquery参考文档

.remove()方法将元素从DOM中取出。如果需要,请使用.remove() 要删除元素本身以及其中的所有内容In 除了元素本身,所有绑定事件和jQuery数据 与元素关联的元素将被删除。删除元素 在不删除数据和事件的情况下,请改用.detach()


销毁可能不是一个好词,但是+1因为它回答了这个问题。@Karl AndréGagnon“删除”可能吗?@AmitJoki更好,销毁使它听起来好像不再存在,事实并非如此。@Karl AndréGagnon事情是。。。是否存在将EventListener保存在浏览器内存中的情况?内存泄漏的东西?但我想主要的问题已经回答了…@poashoas通常,无限滚动条不会删除节点。。。不过我不知道关于不倒翁的事。根据我的经验,一段时间后,你会看到一个bouton,它会“改变页面”来刷新内存。至于上面提到的垃圾收集器,我不知道JS是否有一个。。。。无论如何,选中这个,打开inspector中的memory选项卡,自己看看。内存不断增加,但节点数始终不变。运行足够长的时间,看看是否有垃圾收集器。销毁可能不是一个好词,但是+1,因为它回答了问题。@Karl AndréGagnon“删除”了吗?@AmitJoki更好,销毁让它听起来好像不再存在,这不是事实。@Karl AndréGagnon事情是。。。是否存在将EventListener保存在浏览器内存中的情况?内存泄漏的东西?但我想主要的问题已经回答了…@poashoas通常,无限滚动条不会删除节点。。。不过我不知道关于不倒翁的事。根据我的经验,一段时间后,你会看到一个bouton,它会“改变页面”来刷新内存。至于上面提到的垃圾收集器,我不知道JS是否有一个。。。。无论如何,选中这个,打开inspector中的memory选项卡,自己看看。内存不断增加,但节点数始终不变。运行足够长的时间,看看是否有垃圾收集器。