JavaScript中如何进行事件委托

avatar
作者
筋斗云
阅读量:0

在 JavaScript 中,事件委托(Event delegation)是一种降低事件处理器数量的技术。通过将事件监听器添加到父元素上,而不是每个子元素上,可以利用事件冒泡机制捕获子元素触发的事件。当事件触发时,可以通过检查事件对象的 target 属性来判断实际触发事件的元素,并执行相应的处理函数。

以下是一个简单的示例,演示了如何在 JavaScript 中使用事件委托:

HTML 结构:

<ul id="list">   <li>Item 1</li>   <li>Item 2</li>   <li>Item 3</li> </ul> 

JavaScript 代码:

// 获取父元素引用 const list = document.getElementById('list');  // 定义事件处理函数 function handleClick(event) {   // 检查触发事件的元素是否是 li 子元素   if (event.target.tagName === 'LI') {     console.log(`Clicked on ${event.target.textContent}`);   } }  // 为父元素添加事件监听器 list.addEventListener('click', handleClick); 

在这个示例中,我们将事件监听器添加到了 id 为 list 的 ul 元素上。当点击列表中的任意一个 li 子元素时,都会触发 handleClick 函数。在函数内部,我们通过检查 event.target 的标签名来判断实际触发事件的元素,并输出相应的文本。这样,我们就实现了事件委托,降低了事件处理器的数量。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!