日期:2014-05-17 浏览次数:20679 次
事件有两种模式:捕获和冒泡
·捕获
?从dom根节点-->目标对象传递
·冒泡
?从目标对象-->dom根节点传递
?
添加和删除事件
?标准方式:
??[Object].addEventListener('click',fun1,true);
??[Object].removeEventListener("click",fun2,false);
?IE(事件前面都加"on"):
??[Object].attachEvent('onclick',"Function")
??[Object].detachEvent('onclick',"Function")
注:在IE中只有冒泡模式,而在其它大多数浏览器中支持两种模式,而且都是先捕获后冒泡
?div1.addEventListener('click',fun1,true);?//true时,为捕获
?div2.addEventListener('click',fun2,false);?//false时,为冒泡
?传统模式下的兼容性:对于那些支持W3C DOM的浏览器来说,传统的事件注册
??element1.onclick = doSomething2;
?都视作冒泡
?
阻止冒泡的方法
?e.cancelBubble = true;?//IE
?e.stopPropagation();?//标准方式