JavaScript-事件委托

简介: 事件委托

一、什么是事件委托?

把事情托付给比人

说白了就是给父元素注册事件,把处理的代码在父元素的事件中去执行。

事件委托是事件冒泡本身的特性,有利有弊。

事件委托也称为事件代理,在jQuery里称为事件委派。

二、事件委托的作用

节约工作量,提高程序性能。

比如一个ul下面有很多个li,每次点击一个li弹窗一个对话框,如果要是给每个li添加注册事件,太繁琐,而且需要多次访问DOM,就会延长整个网页的交互的中的时间。

如果用事件委托就比较方便,只需要操作一次DOM,这样就可以大大的提高程序的性能。

三、事件委托该如何使用

直接给父元素添加注册时间,利用事件冒泡,当子元素触发事件后,会冒泡到父元素,然后去控制相应的子元素。

该如何去控制子元素?只要使用e.target  ,就可以获取到事件源(点击某个子元素,就可以对这个元素进行操作)

例如:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>事件委托</title>
    <style>
        ul{
            margin: 0;
            padding: 0;
            list-style-type: none;
            width: 100%;
        }
        ul li{
            width: 100px;
            height: 20px;
            background-color: royalblue;
            margin: 2px;
        }
    </style>
</head>
<body>
    <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
    <script>
        var ul = document.querySelector('ul');
        ul.onclick = function(e){ 
                e.target.style.backgroundColor = 'yellow';  //事件委托
        }
    </script>
</body>
</html>

效果如下图:

20210908185131950.gif





相关文章
|
7月前
|
JavaScript 前端开发
JavaScript DOM 操作:什么是事件委托(Event Delegation)?有什么优势?
JavaScript DOM 操作:什么是事件委托(Event Delegation)?有什么优势?
139 1
|
6月前
|
JavaScript 前端开发
事件委托是JS技巧,通过绑定事件到父元素利用事件冒泡,减少事件处理器数量,提高性能和节省内存。
【6月更文挑战第27天】事件委托是JS技巧,通过绑定事件到父元素利用事件冒泡,减少事件处理器数量,提高性能和节省内存。例如,动态列表可共享一个`click`事件处理器,通过`event.target`识别触发事件的子元素,简化管理和响应动态内容变化。
50 0
|
2月前
|
JavaScript
深入解析:JS与Vue中事件委托(事件代理)的高效实现方法
深入解析:JS与Vue中事件委托(事件代理)的高效实现方法
55 0
|
3月前
|
JavaScript 前端开发
理解js事件委托
【9月更文挑战第5天】理解js事件委托
48 5
|
3月前
|
JavaScript 前端开发
JS事件委托
本文介绍了JavaScript中的事件委托概念,并通过Vue.js的示例代码展示了如何利用事件委托技术来处理多个子元素的事件,从而避免为每个子元素单独绑定事件,提高性能和减少代码量。
46 0
|
3月前
|
存储 JavaScript 前端开发
js事件冒泡和事件委托
事件冒泡是指事件从最内层元素开始逐级向上传播至祖先元素的过程,默认情况下,点击子元素时会先触发自身的事件处理程序,再依次向上触发父元素的处理程序。事件委托则是在父元素上设置事件处理程序,利用事件冒泡机制处理子元素的事件,以此减少内存消耗和提高性能,特别适用于处理大量动态子元素的情况。其区别在于事件冒泡是事件传播机制的一部分,而事件委托是编程技巧,通过在父元素上绑定事件处理程序来简化子元素的事件处理。
28 0
|
7月前
|
JavaScript 前端开发
js开发:请解释什么是事件委托(event delegation),并给出一个示例。
事件委托是JavaScript中优化事件处理的技术,通过绑定事件处理器到共享的父元素,利用事件冒泡机制来处理子元素的事件。这种方法能提升性能、简化代码并降低内存消耗。示例展示了如何在父元素上监听`click`事件,然后通过`event.target`识别触发事件的具体子元素(如`&lt;li&gt;`),实现对动态生成列表项的点击事件处理。
53 1
|
7月前
|
JavaScript 前端开发 UED
JavaScript中的事件委托机制及实践应用
事件委托是JavaScript中常用的性能优化技巧,通过将事件监听器绑定在父元素上,实现对子元素事件的统一管理,减少页面中事件处理函数的数量,提升页面性能。本文将介绍事件委托的原理和实践应用,帮助开发者更好地理解和运用这一技术。
|
7月前
|
前端开发 JavaScript
JavaScript 中的事件委托机制详解
【2月更文挑战第2天】本文将深入探讨 JavaScript 中的事件委托机制,介绍其原理、优势以及实际应用场景,帮助读者更好地理解并运用这一重要的前端开发技术。
|
JavaScript 前端开发 开发者
JavaScript DOM 事件委托 ★
JavaScript DOM 事件委托 ★
123 0