1、DOM0级事件处理程序:
btn.onclick = function () {
alert(this.id);
}
特点:每个事件只支持一个处理程序。
2、DOM2级事件处理程序(IE9+也支持),包括addEventListener()和removeEventListener():
var handler = functiont () {
alert(this.id);
}
btn.addEventListener('click', handler);
btn.removeEventLister('click',handler); //若绑定的匿名函数则无法移除
特点:可添加多个事件处理程序;事件触发时按照事件添加的顺序触发;事件处理程序的作用域为其所属元素的作用域,this对象等于btn元素。
3、IE事件处理程序,包括attachEvent()与detachEvent(),用法与DOM2级类似,不过传入的第一个参数为'onclick'而非DOM2的'click'。
特点:可添加多个事件处理程序;事件触发时按照事件添加的相反顺序触发;事件处理程序的作用域为全局作用域,this对象等于window。