首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js 阻止事件冒泡

在 JavaScript 中,事件冒泡是指事件从最具体的元素(事件目标)开始触发,然后向上传播到较为不具体的元素(例如:从按钮到 document)。

基础概念: 事件冒泡是 DOM 标准中的一种事件传播机制。

优势

  • 可以在父元素上统一处理多个子元素的事件,减少事件处理函数的数量,提高性能。
  • 便于实现一些通用的交互效果。

应用场景

  • 点击一个按钮,阻止事件冒泡以避免触发其父元素的点击事件。

阻止事件冒泡的方法: 在事件处理函数中,可以使用 event.stopPropagation() 方法来阻止事件冒泡。

以下是一个示例代码:

代码语言:txt
复制
<!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>
</head>

<body>
  <div id="parent" style="width: 200px; height: 200px; background-color: lightblue;">
    父元素
    <button id="child">子按钮</button>
  </div>

  <script>
    const parent = document.getElementById('parent');
    const child = document.getElementById('child');

    parent.addEventListener('click', function () {
      console.log('父元素被点击');
    });

    child.addEventListener('click', function (event) {
      event.stopPropagation(); 
      console.log('子按钮被点击');
    });
  </script>
</body>

</html>

在上述示例中,当点击子按钮时,只会输出 "子按钮被点击",而不会输出 "父元素被点击",因为通过 event.stopPropagation() 阻止了事件冒泡。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券