浅谈Javascript事件

1。事件流



事件流描述从页面接收事件的顺序,但IE建议冒泡流,而Netscape通信器是捕获流。

Javascript事件流

2,事件冒泡(事件冒泡)



事件由最特定的元素(最深的嵌套节点)接收,然后向上传播到一个不太特定的节点(文档):

复制代码代码如下所示:





事件冒泡





点击我





在window.onload =函数(){

var obj = document.getelementbyid(测试);

obj.onclick =函数(){

警报(这个标签名);

};

document.body.onclick =函数(){

警报(这个标签名);

};

document.documentelement.onclick =函数(){

警报(这个标签名);

};

onclick =函数(){

警报(文档);

};

window.onclick =函数(){

警报(窗口);

}

};



事件传播顺序

小心 uff1a

所有现代浏览器都支持冒泡,但在执行中有一定的差异。在IE5.5和早期版本的事件泡沫直接跳从身体到文档(不执行HTML)。Firefox,Chrome和Safari,保持事件冒泡的窗口对象。

三.停止事件冒泡并取消默认事件

A.获取事件对象

复制代码代码如下所示:

功能GetEvent(事件){

window.event / / IE

事件/非IE

返回事件window.event | |;

}



功能:停止事件气泡

复制代码代码如下所示:

功能stopbubble(e){

如果提供事件对象,则这是一个非IE浏览器。

如果(E e.stoppropagation){

它支持W3C / /里面(法)

e.stoppropagation();

{人}

否则,我们需要使用IE方式取消事件。

window.event.cancelbubble =真;

}

}



C.防止浏览器默认行为

复制代码代码如下所示:

功能stopdefault(e){

停止默认浏览器操作(W3C)

如果(E e.preventDefault){

E.preventDefault();

{人}

IE是默认的功能/停止动作模式。

window.event.returnvalue = false;

}

返回false;

}