前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript-事件委托(事件代理)

JavaScript-事件委托(事件代理)

作者头像
web前端教室
发布2018-02-06 11:38:15
8670
发布2018-02-06 11:38:15
举报
文章被收录于专栏:web前端教室

今天给自己的知识结构填个坑,再复习下JS的事件代理。

事件代理可以给JS批量生成的DOM元素添加事件,并且还可以提高效率,因为你确实不用给每个DOM节点添加事件监听了。

事件的监听器,是被添加到了它们的父元素上,监听器会分析从新生成的子元素上冒泡上来的事件,并找到是哪个子元素的事件。

现在,有一个ul、li的列表了,,

代码语言:js
复制
<ul id="ulId">
  <li id="li-1">li 1</li>
  <li id="li-2">li 2</li>
  <li id="li-3">li 3</li>
  <li id="li-4">li 4</li>
  <li id="li-5">li 5</li>
  <li id="li-6">li 6</li>
</ul>

那么,当每个子元素被点击的时候,会发生不同的事件。而且这些Li的数量是不定的,因为它们是根据后端返回的JSON生成的。

那么这时,你需要把事件监听器放在它们的父容器 ulId 上面。

这时,当子元素被点击的事件,冒泡到父元素Li上的时候,你就可以通过检查事实的target,从而获取真正被点击的节点元素的引用。

看例子截图:

现在大部分JS都会使用jQuery等工具库来处理DOM事件,但对于事件委托的背后原理,我们还是要了解的。

浅谈数据结构 - 字典

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档