事件:
1、事件流
描述的是从页面接收事件的顺序
IE事件流是事件冒泡流,Netscape的时间捕获
2、事件流阶段
(1)事件捕获阶段 (2)处于目标阶段 (3事件冒泡阶段)
事件捕获阶段:从最不具体的节点(Window/document)接受事件 往具体的节点进行传播
事件冒泡阶段:从具体的节点开始接收事件,逐级往上传递到最不具体的节点
3、事件对象
3.1 e.eventPhase 描述事件的发生的阶段
事件捕获阶段
事件目标阶段
事件冒泡阶段
3.2 事件目标
e.currentTarget ===this
e.target
e.srcElement
//兼容性代码
var target = e.target || e.srcElement;
3.3 事件代理 也叫时间委托
3.4 取消默认行为
e.preventDefault
e.returnValue = false
return = false;
3.5 事件冒泡
e.bubbles
blor focus scroll 三个事件的返回值都是false
e.stopPropagation //常用
e.stopInmediatePropagation();
e.cancelBubble = true;
var handler = function(e){
e = e ||window.event;
if(e.stopPropagation){
e.stopPropagation();
}else{
e.cancelBubble = ture;
}
4、事件处理程序
1)HTML事件处理程序
2)DOM0 事件处理程序
btn.onclick = function(e){
e = e ||window.event;
}
3)DOM2级事件处理程序
btn.onclick = function(){} //有事件覆盖现象
btn.addElementListener('click',function(){},false);
btn.addEventListener("click",function(){});
btn.removeEvenListener("click",hander); //移除事件
4)IE事件的兼容性
btn. attachEvent("onclick",function(){})
5. 事件对象的属性 坐标位置
5.1 client x/y screen x/y page x/y offset x/y