1. 存在三种事件模型:原始事件模型(所有浏览器都支持)、dom2(除ie外的浏览器都支持)事件模型、IE事件模型、Netscape事件模型。
-----------------------------------------------------------------------------------------------------------------------------------------------
2.详细模型
(1)原始事件模型
分为:语义事件onclick和输入事件onsubmit
-------------------------------------------------------------------------
(2)dom2事件模型
一般分为三步:1)先由document向目标对象传播称之为:捕捉阶段;2)目标对象的事件处理程序运行,3)从目标对象向document起泡。Event.stopPropagation()可以停止 传播,preventDefault可以阻止事件的默认动作
addEventListener("eventType","handler","true!false"); //true, 在捕捉的阶段调用;false,在后两个阶段调用;
removeEventListner("eventType","handler","true!false");
事件合成
1)创建合适的事件对象:
var e=document.createEvent("HTMLEvents");
2)初始化事件对象域(即:属性)
e.initEvent("click","true","true");
3)分派事件对象:
eventTarget.dispatchEvent();
-------------------------------------------------------------------------
(3)IE事件模型
IE事件对象也有,但只是window的一个属性;目标元素的处理函数——〉document,只能捕获鼠标事件;事件处理函数的添加和删除通过:attachEvent( "eventType","handler") and detachEvent("eventType","handler" );
indow.ecent.cancelBubble=true;
事件注册函数:attachEvent()和反注册:detachEvent().
-------------------------------------------------------------------------
(4)Netscape事件模型
-----------------------------------------------------------------------------------------------------------------------------------------------
3.