我试图理解事件冒泡,同时尝试使用我自己的代码: `
<!DOCTYPE html>
<html>
<body>
<div onclick="alert('1')">
1
<div onclick="alert('2')">
2
<div onclick="alert('3')">3</div>
</div>
</div>
</body>
</html>
在这里我看到,当点击div 3时,它显示三个警报(3 2 1)。将第一个 div 标签更改为 P 标签后,我单击同一个 div 3,它只显示两个警报 (3 2)。这里,为什么警报 1 没有出现,因为它位于父(P)标签下。
将第一个 div 标签更改为 P 标签后,代码如下所示:
<p onclick="alert('1')">
1
<div onclick="alert('2')">
2
<div onclick="alert('3')">3</div>
</div>
</p>
最佳答案
仅仅因为浏览器将修复您在 HTML 标记分层方面的错误。
收盘</p>
自 <div>
起,在适当的位置插入标记(在 block 级 DIV 之前)不是 <p>
的允许后代。
生成的标记是:
<p onclick="alert('1')">
1
</p>
<div onclick="alert('2')">
2
<div onclick="alert('3')">3</div>
</div>
<p></p>
关于javascript - 了解事件冒泡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54324012/