我的编程空间,编程开发者的网络收藏夹
学习永远不晚

JS中如何实现事件委托

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

JS中如何实现事件委托

这篇文章主要介绍了JS中如何实现事件委托,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

事件委托(也叫事件代理),其实这个问题也简单,要想弄明白事件委托,我们先要把事件冒泡的机制搞清楚。举个事件冒泡的例子:

<ul>
    <li>点击</li>
</ul>
<script>
    var ul=document.getElementsByTagName('ul')[0];
    var li=document.getElementsByTagName('li')[0];
    ul.addEventListener('click', function(){
      alert('我是ul,我被点击了');
    }, false);
    li.addEventListener('click', function(){
      alert('我是li,我被点击了');
    }, false);
</script>

在这段代码中,当我们点击li的时候出发了li的click事件,但是在这时,ul的click事件也被触发了,这就是事件的冒泡。搞明白这个之后,我们就可以来说事件委托了,既然事件能从子元素(li)冒泡的父元素(ul)身上,那么我们就可以给ul自己加一个click事件,把所有li的事件都委托给了我们的父级(ul)身上,可能到这里有些朋友还是不明白这个事件委托到底有什么用,我们在举一个事件委托的实例来说明一下:

<ul>
    <li>点击1</li>
    <li>点击2</li>
    <li>点击3</li>
    <li>点击4</li>
    <li>点击5</li>
</ul>
<script>
    //使用事件委托的代码
    var ul=document.getElementsByTagName('ul')[0];
    ul.addEventListener('click', function(e){
      alert(e.target.innerHTML);
    }, false);
    //不使用事件委托,循环给li添加click事件
    var li=document.getElementsByTagName('li')
    for(var i=0;i<li.length;i++){
      li[i].onclick=function(){
        alert(this.innerHTML);
      }
    }
</script>

我们以上代码把事件委托给了ul,只给ul增加点击事件,在浏览器中运行点击对应的li会弹出li对应的innerHTML,这个function(e){};中的e这个参数实际上就是当前我们点击li时,系统传给我们的一些事件信息,e.target实际上指的就是当前我们点击的这个li,在这里我们每次弹出的都是当前点击对象的innerHTML,这就是一个简单的事件委托的案例。

而事件委托对于我们优化代码意义是非常大的,我们都知道,频繁的dom操作是非常耗费性能的,现在ul里边是5个li,我们假如不用事件委托实现上面代码所作的事情,就需要用for循环,给每个li都写一个click事件,这样一来dom操作就比较多了,如果是10个li呢,100个甚至更多呢,单不说dom操作影响的性能,li过多for循环自身就会占用大量的事件。如果利用事件委托,既避免了for循环耗费的性能,又省去了繁多的dom操作耗费的性能。

感谢你能够认真阅读完这篇文章,希望小编分享的“JS中如何实现事件委托”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

JS中如何实现事件委托

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

js中的事件委托怎么实现

在JavaScript中,可以通过事件委托来简化事件处理程序的绑定和管理。事件委托是将事件处理程序绑定到其父元素,然后通过冒泡机制来处理子元素上的事件。以下是一个简单的示例,演示了如何使用事件委托来处理点击事件:```javascript/
2023-09-29

VB.NET下如何实现事件和委托

这篇文章给大家分享的是有关VB.NET下如何实现事件和委托的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。委托是可用于调用其他对象方法的对象。它们有时被称为类型安全函数指针,因为它们与其他编程语言中所使用的函数指针
2023-06-17

JS 中的事件委托是什么

事件委托,其实就是将原本应该绑定在子元素的的大量类似的事件监听函数,改为绑定到父元素或祖先元素上,委托祖先元素来处理。
事件委托JS2024-12-01

C#中如何实现事件和委托的编译

这篇文章给大家分享的是有关C#中如何实现事件和委托的编译的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。C#事件和委托的编译需求操作C#事件时,有时会得到编译错误:事件“Delegate.GreetingManag
2023-06-18

怎么在JavaScript中实现事件委托

怎么在JavaScript中实现事件委托?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。事件委托利用事件冒泡,指定一个事件处理程序,管理一系列的所有事件事件委托利用DOM元素
2023-06-15

javascript事件委托理解,jQuery .on()方法一步到位实现事件委托

事件委托是一种处理事件的技巧,可监听父元素上的事件,并针对子元素执行特定操作。jQuery的.on()方法提供了简洁易用的方式来实现事件委托。它允许在父元素上附加一个事件句柄,当子元素触发事件时,事件会冒泡到父元素并触发事件句柄,从而检查目标元素是否与子元素选择器匹配。如果匹配,则调用事件处理函数。事件委托的主要优点包括性能优化、代码简化和动态元素处理。
javascript事件委托理解,jQuery .on()方法一步到位实现事件委托
2024-04-02

事件委托模式怎么在java项目中实现

这篇文章将为大家详细讲解有关事件委托模式怎么在java项目中实现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。java实现事件委托模式的实例详解举例说明:一个班级,有两类学生,A类:不学习,
2023-05-31

C#中的委托和事件实例分析

本文小编为大家详细介绍“C#中的委托和事件实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#中的委托和事件实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、定义委托delegate void S
2023-06-30

C#中如何使用委托和事件处理程序

C#中如何使用委托和事件处理程序,需要具体代码示例在C#中,委托和事件处理程序是两个非常重要的概念,它们可以用于实现事件驱动的编程模型。委托提供了一种将方法作为参数传递的机制,而事件处理程序则用于处理特定事件的方法。本文将详细介绍C#中如何
2023-10-22

如何将 JavaScript 事件委托与其他技术相结合?(JavaScript事件委托如何与其他技术结合)

在前端开发中,JavaScript事件委托是一种非常实用的技术,它可以有效地减少事件处理程序的数量,提高性能,并使代码更易于维护。然而,事件委托并不是孤立的,它可以与其他技术结合使用,以实现更复杂的功能。本文将介绍如何将JavaScript事件委托与其他技术相结合,帮助你更好地理解和应用
如何将 JavaScript 事件委托与其他技术相结合?(JavaScript事件委托如何与其他技术结合)
JavaScript2024-12-19

如何使用 JavaScript 事件委托来处理复杂交互?(JavaScript事件委托怎样处理复杂交互)

在JavaScript开发中,处理复杂交互是一项常见且重要的任务。事件委托是一种有效的技术,它可以帮助我们更高效地处理大量的DOM元素的事件。下面我们将详细介绍JavaScript事件委托怎样处理复杂交互。一、事件委托的基本概念
如何使用 JavaScript 事件委托来处理复杂交互?(JavaScript事件委托怎样处理复杂交互)
JavaScript2024-12-20

如何通过 JavaScript 事件委托来简化代码逻辑?(JavaScript事件委托怎样简化代码逻辑)

在JavaScript开发中,代码的简洁性和可维护性是非常重要的。而事件委托就是一种能够有效地简化代码逻辑的技术。一、什么是JavaScript事件委托?事件委托,也称为事件代理,是一种利用事件冒泡的特性,将事件处理程序
如何通过 JavaScript 事件委托来简化代码逻辑?(JavaScript事件委托怎样简化代码逻辑)
JavaScript2024-12-22

编程热搜

目录