日期:2014-05-16  浏览次数:20378 次

js中的事件类型 冒泡和捕获

js和html页面之间的交互是通过用户和浏览器之间的操作页面时引发的事件来处理的。

事件流:当你在页面触发一个点击事件后,页面上不仅仅有一个元素响应该事件而是多个元素响应同一个事件,因为元素是在容器中的。事件发生的顺序就是事件流,不同的浏览器对事件流的处理不同。ie和mozilla都是冒泡性事件处理机制,事件从最特定的目标到不特定的目标,而捕获事件处理正好相反。

DOM事件流:dom同时支持两种事件模型,但捕获性事件先开始,从document开始也结束于document,dom模型的独特之处在于文本也可以触发事件。

事件处理函数 监听函数:

用于响应某个事件而调用的函数成为事件处理函数,像click load mouseover 或者dom中称为事件监听函数。

1,在js中分配事件处理函数

?

var oDiv = document.getElementById("divone");
oDiv.onclick =  function() {
   alert('who are you?');
}//用这个方法处理函数名必须小写。onclick

?2,在html页面中分配只要在标签中添加

?

<div onclick="alert('I come from beijing')"></div>//这种写法大小写任意 onClick OnClick都可以

?在IE中,每个元素和window对象都有两个方法,attachEvent() detachEvent() 添加和移除事件。

?

var fnClick = function() {
   alert('add or delete");
}

var oDiv = document.getElementById('div');
oDiv.attachEvent.("onclick",fnClick);
//可以对一个事件添加多个处理函数
oDiv.detachEvent("onclick",fnClick);

?Dom的方法是 addEventListener() 和removeEventListener() 该函数需要三个参数 第三个参数是处理函数的阶段,true是冒泡阶段,false是捕获阶段。

?

?