问题:事件冒泡是什么?
解析:事件冒泡(eventbubbling),即事件开始时由最具体的元素(档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点。
看如下例:
!DOCTYPEHTML
html
head
metacharset=UTF-8
titleDocument/title
body
div/div
/body
/html
如果单击了中的div元素,那么这个click事件沿DOM树向上传播,在每级节点上都会发,按照如下顺序传播:
1.div
2.body
3.html
4.document
问题:事件捕获是什么?
解析:事件捕获的思想是不太具体的节点应该更早接收到事件,最具体的节点应该最后接收到事件。事件捕获的意在于在事件到达预定标之前就捕获它。
看如下例:
!DOCTYPEHTML
html
head
metacharset=UTF-8
titleDocument/title
body
div/div
/body
/html
在事件捕获过程中,document对象先接收到click事件,然后事件沿DOM树依次向下,直传播到事件的实际标,即div元素
1.document
2.html
3.body
4.div
问题:事件流是什么?
解析:事件流称为事件传播,DOM2级事件规定的事件流包括三个阶段:事件捕获阶段(capturephase)、处于标阶段(targetphase)和事件冒泡阶段(bubblingphase)。
触发顺序通常为
1.进事件捕获,为截获事件提供了机会
2.实际的标接收到事件
3.冒泡阶段,可以在这个阶段对事件做出响应
本文收录了一些在Web前端开发面试中经常会遇到的面试题及答案,希望对大家有所帮助,若有所疏漏欢迎指正,以后小科每日均会提供Python及Web相关的习题,开启学习之旅吧。