1. 什么是DOM?
DOM文档对象模型,以根元素开头展开成一颗树,描述了处理网页内容的方法和接口。最根本对象是document(window.document)。
2. 什么是DOM事件?
举例,click就是一个事件,可以在后面绑定函数执行功能。事件可以在文档(Document)结构的任何部分被触发,触发者可以是用户操作,也可以是浏览器本身。事件并不是只是在一处被触发和终止;他们在整个document中流动,拥有它们自己的生命周期。
3. DOM事件模型和DOM事件机制
DOM事件模型本身就是解释元素有绑定函数执行顺序。
举例,图中[td]被点击,其上节点[tr]到[window]都可以加上onclick事件去执行函数。函数执行顺序分两种,从[window]到[tr]定义为捕获,从[tr]到[window]定义为冒泡。
用哪种顺序?可以通过addEventListener的第三个参数控制
e.addEventLisenter('click',f2,true) // true按捕获方向执行函数
e.addEventLisenter('click',f2,false) // false按冒泡方向执行函数
4. 阻止事件冒泡
e.stopPropagation()可以中断冒泡。这票干完就不通知后面的人了,狭义的说即挂在冒泡顺序里的监听函数不被执行。
捕获无法取消,因为DOM是一颗树,根一定在的。只有顺着根不断发展。