js事件处理机制的理解

来源:互联网 发布:家长控制电脑软件 编辑:程序博客网 时间:2024/06/04 18:48

1、js事件机制

js中事件的发生包括捕获冒泡两个阶段,两个阶段的传播顺序为

捕获:从最外边父元素节点传递至发生事件的元素节点,即由外到内;

冒泡:从发生事件的元素节点传递至最外边父元素节点,即由内到外;


就像图中所画的那样,事件是先从最外层节点开始到事件节点的捕获阶段,然后从事件节点到最外层节点的冒泡阶段。但由于IE8及其低版本的浏览器不支持捕获事件,所以现在很多事件都是在冒泡中进行事件处理的。

2、事件监听

对事件的监听执行一般有一下三种方法

1.在HTML中对事件进行绑定;

<button id="btn" onclick="myClick()">点击</button>

2.在js中对DOM元素进行事件绑定;

document.getElementById("btn").onclick = myClick;

3.利用监听函数addEventListener("事件名",function(){},false);

removeEventListenter("事件名",Fun,false)用于解除事件的绑定监听,与addEventListener对应,用法相同

但是这种方法在IE8及其低版本浏览器中不能兼容,可以使用attachEvent("事件名",Fun)来进行绑定,因为浏览器

不支持捕获事件,所以没有第三个参数。detachEvent("事件名",Fun)与之对应为解除绑定。

一般的事件用法:

3、如何阻止浏览器的默认事件的发生

对于前两种的事件,如果想阻止后面的操作的话,只需要在你需要阻止的位置加上一个 return false;

对第三种情况绑定的事件,阻止默认事件,需要用到event.preventDefault();

原创粉丝点击