事件捕获和事件冒泡与事件流有关系。
以下代码,点击 aa ,控制台会打印什么呢?
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><body><div onclick="lia('div')"><p onclick="lia('p')">aa</p></div></body><script>function lia(str) {console.log(str);}</script>
</html>
这就是事件冒泡,从内层向外层传递事件流。
而事件捕获正相反,通过外层到内层。
阻止事件冒泡:
- e.stopPropagation()
- window.event.cancelBubble = true