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

电商网站开发 报价天津优化代理

电商网站开发 报价,天津优化代理,制作网站的模板下载软件,动易网站模版的制作一、为什么要用事件委托 当 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/924326/

相关文章:

  • 做网站有名的公司有哪些优秀的平面设计网站
  • php租车网站源码ps做网站边框
  • 做视频教学网站如何做中天建设网站
  • 网站优化站外链接怎么做网站建设做的快
  • 企业公司官网网站wordpress为什么自动跳转
  • 做网站的目的是啥怎么做网站栏目
  • 网站采集来源贵阳网站关键字优化
  • 转运网站开发建公司网站的详细步骤
  • 盐城有没有做公司网站上传图片做网站维护
  • 校园网站建设管理沧州网络建设
  • 阳江网站推广优化公司高级网站开发培训价格
  • 免费制作网站和网页德国的网站域名
  • 鄂州市网站成都文创产品设计公司
  • 南昌专业网站建设福州网络科技有限公司
  • 会员可见的网站开发手机上有那种网站吗
  • o2o网站开发淄博哪里有做网站的
  • 漳浦县城乡规划建设局官方网站事业单位网站设计
  • 烟台网站建设哪家好网站新闻关键词
  • 西宁做网站_君博相约室内设计风格
  • 网站开发设计技术广西网络优化seo
  • c 网站开发实例教程南京网站建设网站制作 雷仁网络
  • 网站设计案例最新域名查询
  • 做家居网站深圳东门老街
  • 沈阳网站制作平台学校网站建设关键技术
  • 上海网站建设服务多少钱wordpress怎么找到分类目录
  • 苏州网站开发建设方法大连网站建设意动科技
  • 企业内部网站制作模板全国住房城乡建设厅网站
  • 陇南网站定制开发公司网站tag标签功能实现
  • 住房建设网站镇江网站建设远航网络
  • 重庆营销网站建设公司排名重庆移动网站建设