在 JavaScript 中,事件冒泡是指事件从最具体的元素(事件目标)开始触发,然后向上传播到较为不具体的元素(例如:从按钮到 document)。
基础概念: 事件冒泡是 DOM 标准中的一种事件传播机制。
优势:
应用场景:
阻止事件冒泡的方法:
在事件处理函数中,可以使用 event.stopPropagation()
方法来阻止事件冒泡。
以下是一个示例代码:
<!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()
阻止了事件冒泡。
领取专属 10元无门槛券
手把手带您无忧上云