现代浏览器

纯JavaScript

如果被删除的DOM元素是无引用的(没有指向它的引用),那么yes – 该元素本身被垃圾收集器以及与其相关联的任何事件处理器/监听器拾取。

var a = document.createElement('div');

var b = document.createElement('p');

// Add event listeners to b etc...

a.appendChild(b);

a.removeChild(b);

b = null;

// A reference to 'b' no longer exists

// Therefore the element and any event listeners attached to it are removed.

然而;如果有仍然指向所述元素的引用,则该元素及其事件侦听器保留在存储器中。

var a = document.createElement('div');

var b = document.createElement('p');

// Add event listeners to b etc...

a.appendChild(b);

a.removeChild(b);

// A reference to 'b' still exists

// Therefore the element and any associated event listeners are still retained.

jQuery

可以公平地假定jQuery中的相关方法(例如remove())将以完全相同的方式运行(考虑使用removeChild()写入remove())。

然而,这不是真的; jQuery库实际上有一个内部方法(它是无证的,并且理论上可以随时更改),称为cleanData()(here is what this method looks like),该方法在从DOM中删除时自动清理所有与一个元素相关的数据/事件(通过。remove(),empty(),html(“”)等)。

旧版浏览器

早期的浏览器 – 特别是IE的旧版本 – 已知存在内存泄漏问题,因为事件侦听器保持对其附加的元素的引用。

还有一些与此相关的文章:

在这种情况下手动删除侦听器可能是一个很好的习惯(只有内存对于你的应用程序是至关重要的,你实际上是针对这样的浏览器)。

js如何监听元素事件是否被移除_javascript – 如果一个DOM元素被删除,它的监听器也从内存中删除?...相关推荐

  1. js如何监听元素事件是否被移除_JavaScript 监听元素是否进入/移出可视区域

    JavaScript 监听元素是否进入/移出可视区域 常规操作 防抖节流 IntersectionObserver 兼容的代码 常规操作 通常的做法是,监听srcoll事件,根据元素的offset来判 ...

  2. javascript事件监听与事件委托

    事件监听与事件委托 在js中,常用到element.addEventListener()来进行事件的监听.但是当页面中存在大量需要绑定事件的元素时,这种方式可能会带来性能影响.此时,我们可以用事件委托 ...

  3. js如何监听元素事件是否被移除_JS移除事件监听的方法 .removeEventListener( )

    JS用addEventListener添加事件监听方法后,可以用removeEventListener来解除监听: element.removeEventListener(event, myFunct ...

  4. chromedp网络监听_动态爬虫三:监听网络事件 + 监听js事件

    一: 概述 上两篇文章介绍了cdp协议和chromedp库,从这篇文章开始动手实战一下,我们要拿到页面上更多的网络请求,最直接的想法就是类似于开发者工具里的network,只有一有网络请求就显示在列表 ...

  5. 移除元素所有事件监听_DOM 事件模型或 DOM 事件机制

    DOM 事件模型 DOM 的事件操作(监听和触发),都定义在EventTarget接口.所有节点对象都部署了这个接口,其他一些需要事件通信的浏览器内置对象(比如,XMLHttpRequest.Audi ...

  6. js 监听 安卓事件_百行代码实现js事件监听实现跨页面数据传输

    百行代码实现js事件监听实现跨页面数据传输 使用场景 类似消息队列的使用场景,支持同页面和跨页面通信,发送消息和接收消息 技术原理 跨页面通信: 基于事件监听,通过监听 storage事件监听回调机制 ...

  7. 使用 JS 关闭警告框及监听自定义事件(amaze ui)

    使用 JS 关闭警告框及监听自定义事件(amaze ui) 一.总结 1.jquery匿名函数:第8行,jquery匿名函数,$(function(){});,有没有很简单,只是少了jquery的前面 ...

  8. 页面滚动到某一位置吸顶_vue监听滚动事件某元素吸顶或固定位置显示详解

    本文主要为大家详细介绍了vue实现某元素吸顶或固定位置显示,监听滚动事件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家. 最近写了一个VUE的web app项目,需要实现某个部位 ...

  9. 使用js监听文件下载事件,解决导出excel文件名为.do的bug

    目录: 1. 简单粗暴使用XHR,不考虑IE,带下载中的灰度弹窗 2. 苟一苟,直接使用`window.location`,不过除了保存文件外,没有别的点击提醒,不能防止重复点击. 3. 下载的文件名 ...

最新文章

  1. (C++)堆排序的3个关键函数
  2. 微型计算机存取速度,微型计算机中,存取速度由快到慢排序:
  3. OpenCV C++ 09 - Gaussian Blur on Images with OpenCV
  4. 10个相见恨晚的 Java 在线练手项目
  5. DEDECMS 5.6整合Discuz_X1.5的方法
  6. 怎样判断电饭锅温度传感器的好坏?_空调温度传感器的作用与检测。
  7. 在Maven+Spring项目中使用Node.js的Gulp进行前端自动化构建
  8. MNIST手写数字识别【Matlab神经网络工具箱】
  9. 中科院发布了目标追踪数据集,1万多条视频,150万个边界框 | 快来下载
  10. zynq开发系列6:创建AXI IP实现PS对PL的数据配置(步骤一)
  11. 利用OpenFileDialog 获取图片存储到数据库中
  12. handler机制及使用场景
  13. 过采样欠采样的处理方法
  14. ET199加密狗是如何复制
  15. 轻松访问Google Chrome浏览器中的浏览历史记录
  16. 服务器开发是做什么的和必备技术汇总
  17. cURL error 77: error setting certificate verify locations: CAfile: d:\cacert.pem CApath: none (see h
  18. BERT用的LayerNorm可能不是你认为的那个Layer Norm?
  19. .NET进阶篇-丑话先说,Flag先立
  20. 温度传感器温度数据LED屏幕展示--物联网服务器搭建

热门文章

  1. RHEL6.3配置FTP服务器(2) 本地用户下载和上传
  2. 【转】Oracle 系统权限详细列表
  3. 跟着例子一步步学习redux+react-redux[转载]
  4. BZOJ.1029.[JSOI2007]建筑抢修(贪心)
  5. Unity实现IOS原生分享
  6. sqlserver的存储过程
  7. AgileEAS.NET SOA 中间件Web运行容器管理功能已全部开源,欢迎大家下载、使用、反馈...
  8. mysql ---事务
  9. centos下使用yum命令安装php mcrypt扩展
  10. ASP.NET 2.0中的跨页面提交