标签:
一、事件流
事件冒泡,从最相关的元素(比如点击的按钮)扩散到最不相关的元素(整个document)。
事件捕获,从外层最不相关的元素触发到最相关的元素。
二、事件处理程序
1.HTML事件处理程序。
在HTML中添加,比如
<input type="button" value="按钮" id="btn" onclick="showMessage()" />
缺点:与js耦合度高,更改时两者都要更改。
2.DOM0级事件处理程序。
这是较为传统的方式,简单,具有跨浏览器优势;
在js中获得要添加事件的元素,然后再给它添加事件,例如
var btn = document.getElementById("btn"); btn.onclick = showMessage();
或直接赋匿名函数
btn.onclick = function(){
alert("hello");
}
要去除事件,则:
btn.onclick = null;
3.DOM2级事件处理程序。
DOM2级事件定义了两个方法,用于处理指定和删除事件处理程序的操作,addEventListener()和removeEventListener();
两个方法均接收三个参数,要处理的事件名、作为事件处理程序的函数、布尔值,布尔值true为捕获,false冒泡;
注意:事件名要去掉on
btn.addEventListener(‘click‘, showMessage, false);
DOM2级事件并不被IE浏览器支持。
4.IE事件处理程序。
也是支持两个方法,attachEvent()添加事件,detachEvent()删除事件;
接收两个参数,要处理的事件名、作为事件处理程序的函数;
注意:IE事件处理程序的事件名要有on.
5.跨浏览器的事件处理程序
标签:
原文地址:http://www.cnblogs.com/babywhale/p/4582114.html