当前位置: 首页 > news >正文

做shopify网站兰州网站的建设

做shopify网站,兰州网站的建设,汕头门户网站建设,自媒体135编辑器官网一、为什么要用事件委托 当 dom 有事件处理程序时,我们一般都会直接给它设置事件处理程序,设想一下,如果在一个父元素中有很多个 dom 需要添加事件处理呢?比如 ul 中处在100个 li,每个 li 都有相同的 click 事件&…

一、为什么要用事件委托

当 dom 有事件处理程序时,我们一般都会直接给它设置事件处理程序,设想一下,如果在一个父元素中有很多个 dom 需要添加事件处理呢?比如 ul 中处在100个 li,每个 li 都有相同的 click 事件,在每个 li 上都添加事件,会存在什么影响呢?

在 JS 中,添加到页面上的事件处理程序的数量将直接关系到页面的整体运行性能,因为需要不断的与 dom 节点进行交互,访问 dom 的次数越多,引起浏览器重绘与重排的次数也就越多,那么就会延长整个页面的交互就绪时间,这就是为什么性能优化的主要思想之一就是减少 dom 操作的原因。如果使用事件委托,就会将所有的操作放到 js 程序里面,与 dom 操作就只需要交互一次,这样就能大大的减少与 dom 的交互次数,提高性能。

每个函数都是一个对象,是对象就会占用内存,对象越多,内存占用率就越大,自然性能就越差,如果使用事件委托,那么我们就可以只对它的父级(如果只有一个父级)这一对象进行操作,这样我们就需要一个内存空间就够了。

二、事件委托的原理

事件委托是利用事件的冒泡原理来实现的,事件冒泡就是指事件从最深的节点开始,然后逐步向上传播事件,委托它们的父级代为执行事件。

三、例子

题目为:点击父元素中的 li 标签,改变 li 标签的内容。

<body><div><button>按钮1</button><button>按钮2</button><button>按钮3</button><li>序号1</li><li>序号2</li><li>序号3</li><li>序号4</li></div><script>let div = document.querySelector('div');div.addEventListener('click', (e) => {// 只有父元素中的 li 改变if(e.target.nodeName.toLowerCase() == 'li') {e.target.innerTest = '序号9';}})</script>
</body>

http://www.yayakq.cn/news/424286/

相关文章:

  • 网站建设用款全屋整装家装
  • seo团队管理系统肇庆seo优化
  • 吉林电商网站建设网站正在建设升级
  • 百度发广告怎么发天津网站优化公司哪家好
  • 网站建设教程l机械加工网上接单流程
  • 高安做网站在线设计平台 类似pixao
  • 综合性电子商务网站有哪些电商网站的对比
  • 网站开发算什么费用中山vi设计公司
  • 深圳市做网站前十强网站建设的主要情况说明书
  • 可信的手机网站建设wordpress移动顶部菜单
  • 自动优化网站建设咨询江山市城乡建设局网站
  • 一个只做百合的网站网站维护推广
  • 网站开发工程师应聘书700字长沙建网站理
  • 网站建设 商业价值wordpress 签到
  • 做网站备案需要多长时间如何做好品牌宣传
  • 浦口区教育局网站集约化建设文案写作网站
  • 牡丹江建设局网站文创产品设计图片
  • 微网站风格商城网站用什么做
  • 动态做网站鞍山做网站优化公司
  • 网站特殊字体北京网页设计软件培训学校
  • 教育网站开发如何将百度收录网站
  • 政务网站建设的方向旅游网站有哪些?
  • 域名备案 填写网站信息吗中国外包公司
  • 网站改标题降权wordpress付费插件网站
  • 门户网站建设的作用及意义汕头网站关键词推广
  • 称多县公司网站建设专做电子产品评测的网站
  • 上海拍牌网址seo和网站建设那个先学
  • 黑龙江省营商环境建设监察局网站虚拟邮箱注册网站
  • 如何查看网站域名解析百度推广个人怎么开户
  • 咸宁网站建设多少钱公司网站建设的基本流程