例题:wrapDiv>innerP>textSpan加上以下事件,*点击最里面的DIV(textSpan)*后的输出结果是:
//默认已获取元素
wrapDiv.onclick = function(){console.log("A")};
wrapDiv.onclick = function(){console.log("B")};
wrapDiv.addEventListener("click",function(){console.log("C")},fasle);
wrapDiv.addEventListener("click",function(){console.log("D")},fasle);
wrapDiv.addEventListener("click",function(){console.log("E")},ture);
wrapDiv.addEventListener("click",function(){console.log("F")},ture);
innerP.onclick = function(){console.log("G")};
innerP.onclick = function(){console.log("H")};
innerP.addEventListener("click",function(){console.log("I")},fasle);
innerP.addEventListener("click",function(){console.log("G")},fasle);
innerP.addEventListener("click",function(){console.log("K")},ture);
innerP.addEventListener("click",function(){console.log("L")},ture);
textSpan.onclick = function(){console.log("M")};
textSpan.onclick = function(){console.log("N")};
textSpan.addEventListener("click",function(){console.log("O")},fasle);
textSpan.addEventListener("click",function(){console.log("P")},fasle);
textSpan.addEventListener("click",function(){console.log("Q")},ture);
textSpan.addEventListener("click",function(){console.log("R")},ture);
背景知识:
1.事件的顺序是 : 捕获阶段>warpDiv>innerP>textSpan>目标阶段>textSpan>冒泡阶段>textSpan>innerP>warpDiv 的顺序
2.
DOM0级:
只能添加到冒泡阶段,早期的事件模型称为DOM0级别。 (DOM0事件模 型,所有的浏览器都支持。)直接在dom对象上注册事件名称,就是DOM0写法,比如:
wrapDiv.onclick = function(){console.log("A")};
wrapDiv.onclick = function(){console.log("B")};
· DOM0级只能注册在冒泡阶段
· 一个元素注册同一种事件只能注册一个DOM0级(后者覆盖前者)
DOM2级:
DOM2支持同一dom元素注册多个同种事件。
DOM2新增了捕获和冒泡的概念。比如:
wrapDiv.addEventListener("click",function(){console.log("C")},fasle);
wrapDiv.addEventListener("click",function(){console.log("D")},fasle);
wrapDiv.addEventListener("click",function(){console.log("E")},ture);
wrapDiv.addEventListener("click",function(){console.log("F")},ture);
· addEventListenter()传入三个参数,(事件类型,fn,Boolean)
· 最后一个参数ture表示添加到捕获阶段,false表示添加到冒泡阶段
· DOM2级可以添加多个事件,先添加先执行。(IE的attachEvent为先添加的后执行)
目标阶段不区分捕获和冒泡;先写先执行
3.例题分析:自己分析
4.答案:
text.html:43 E
text.html:44 F
text.html:50 K
text.html:51 L
text.html:54 N
text.html:55 O
text.html:56 P
text.html:57 Q
text.html:58 R
text.html:47 H
text.html:48 I
text.html:49 G
text.html:40 B
text.html:41 C
text.html:42 D