首页
学习
活动
专区
圈层
工具
发布

【前端】详解JavaScript事件代理(事件委托)

事件传播分成三个阶段: 捕获阶段:从window对象传导到目标节点(上层传到底层)称为“捕获阶段”(capture phase),捕获阶段不会响应任何事件; 目标阶段:在目标节点上触发,称为“目标阶段”...提高性能:特别是在动态生成的元素上,不需要为新元素重新绑定事件。 简化代码:统一处理事件,代码更简洁。...ul id="myList"> li>列表项 1li> li>列表项 2li> li>列表项 3li> 表项 --> ul> 如上面代码所示,如果给每个li列表项都绑定一个函数,那对内存的消耗是非常大的,因此较好的解决办法就是将li元素的点击事件绑定到它的父元素ul身上,执行事件的时候再去匹配判断目标元素...但是在很多时候,需要通过 AJAX 或者用户操作动态的增加或者删除列表项li元素,那么在每一次改变的时候都需要重新给新增的元素绑定事件,给即将删去的元素解绑事件。

1.7K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Vue Slot 与 slot-scope 深入理解

    这篇文章,我们将详细探讨 Vue 的 slot 和 slot-scope 功能,从它们的基本概念,到实现原理,再到如何在实际开发中应用。...Slot 允许父组件向子组件传递 DOM 结构,可以将子组件的部分内容进行动态替换。...具体来说,Vue 在编译模板时,会为每个组件生成一个渲染函数。这个渲染函数包含了组件的模板结构以及插槽信息。当组件实例化时,渲染函数会被执行,生成虚拟 DOM 树。...3.2 Slot-Scope 的实现原理 slot-scope 的实现依赖于 Vue 的数据响应式系统和作用域插槽。作用域插槽本质上是一个函数,接受参数并返回需要渲染的内容。...实战应用 4.1 动态表格组件 我们可以利用 slot 和 slot-scope 创建一个灵活的动态表格组件,使得表格的列定义和内容渲染都由外部控制。 <!

    1.5K10

    Vue 插槽与作用域插槽深度解析:从原理到实践

    这篇文章,我们将详细探讨 Vue 的 slot 和 slot-scope 功能,从它们的基本概念,到实现原理,再到如何在实际开发中应用。...-- MyList.vue --> ul> {{ item }} ul...具体来说,Vue 在编译模板时,会为每个组件生成一个渲染函数。这个渲染函数包含了组件的模板结构以及插槽信息。当组件实例化时,渲染函数会被执行,生成虚拟 DOM 树。...3.2 Slot-Scope 的实现原理slot-scope 的实现依赖于 Vue 的数据响应式系统和作用域插槽。作用域插槽本质上是一个函数,接受参数并返回需要渲染的内容。...实战应用4.1 动态表格组件我们可以利用 slot 和 slot-scope 创建一个灵活的动态表格组件,使得表格的列定义和内容渲染都由外部控制。<!

    94410

    Web|网页制作秘密武器之列表

    常用的列表有无序列表(ul),有序列表(ol)和定义列表(dl)等,接下来,我们就一起来学习一下这些列表吧。 常用列表介绍 (1) 无序列表(ul) 没有特定顺序的列表项集合。...基本语法: ul> li>列表一li> li>列表二li> li>列表三li>ul> 效果: ?...语法说明 1)在HTML文件中,可以利用成对的ul>ul>标记来插入无序列表,中间的列表项标签li>li >用来定义列表项序列。...css样式: ul{list-style: } (2) 有序列表(ol) 有特定顺序的列表项集合。在有序列表中各个列表项之间有先后顺序之分,它们之间以编号标记。...—加粗--> } (4)菜单列表: 列通常用于显示一个简单的单列列表,一般不做嵌套。它的使用方法与无序表类似,可以看作是无序列表的一种特殊形式。

    1.6K20

    DOM事件的传播机制

    我们的程序可以检测这些事件,然后对此作出响应。从而形成一种交互。这样可以使我们的页面变得更加的有意思,而不仅仅像以前一样只能进行浏览。...这个事件监听器类似于一个通知,当事件发生时,事件监听器会让我们知道,然后程序就可以做出相应的响应。...这样一来,无论子级元素是已经存在的还是动态生成的,都可以通过父级元素来管理它们的事件。...下面是一个示例,演示了事件委托的过程:ul id="list"> li>列表项1li> li>列表项2li> li>列表项3li>ul>const list = document.getElementById...: li>列表项1li>可以看到,通过在父级元素上绑定点击事件处理程序,我们可以捕获到子级元素触发的点击事件,并且可以获取到触发事件的目标元素。

    71330

    Python每日一练(21)-抓取异步数据

    项目实战:爬取国家药品监督管理总局中基于中华人民共和国化妆品生产许可证相关数据 在 Python每日一练(15)-爬取网页中动态加载的数据 一文中笔者已经讲过如何爬取动态加载的数据,本文在对其进行详细的讲解...2.3 渲染页面 渲染页面主要是指将从服务端获取的响应数据以某种形式显示在Web页面的某些元素上,如下面的代码将数据以 li 节点的形式添加到 ul 节点的后面。...网页的模拟登录li> li>Python每日一练(18)-抓取小说目录和全文li> li>Python每日一练(17)-通过正则表达式快速获取电影的下载地址li> ul...('//ul[@id="practice_list"]/li[2]')[0].text) # 提取第6个列表项的文本 print(html.xpath('//ul[@id="practice_list"...从 Response 选项卡也可以看出,下载的HTML代码只有前4个列表项。那么在这里为什么与 Elements 选项卡显示的HTML 代码不同呢?其实这两个地方显示的 HTML 代码处于不同阶段。

    3.7K20

    Html 列表、表格、媒体元素

    二、无序列表ul>表项-->ul>三、无序列表的特性没有顺序,每个li>标签独占一行(块元素);默认li>标签项前面有个实心小圆点;一般用于无序类型的列表,如导航、侧边栏新闻、有规律的图文组合模块等。...--声明列五、有序列表的特性有顺序,每个li>标签独占一行(块元素);默认li>标签项前面有顺序标记;一般用于排序类型的列表,如试卷、问卷选项等。六、定义列表ul>标签来实现以li>标签表示列表项无序列表中的每项都是平级的,没有级别之分,并且列表中的内容一般都是相对简单的标题性质的网页内容有序列表以标签来实现以li>标签表示列表项有序列表ol-li...一般用于显示带有顺序编号的特定场合定义类表以标签来实现以标签定义列表项以标签定义内容定义列表一般适用于带有标题和标题解释性内容的场合九、如何实现在网页上播放视频和音频?

    2.2K20
    领券