事件处理程序 章节原话(斜体表示):
13.2.1 HTML事件处理程序
在这个函数内部,this 值等于事件的目标元素,例如:
13.2.2 DOM0 级事件处理程序
使用 DOM0 级方法指定的事件处理程序被认为是元素的方法。因此,这时候的事件处理程序是在元素的作用域中运行;换句话说,程序中的 this 引用当前元素。来看一个例子。
var btn = document.getElementById("myBtn"); btn.onclick = function(){ alert(this.id); //"myBtn" };
13.2.3 DOM2 级事件处理程序
与 DOM0 级方法一样,这里添加的事件处理程序也是在其依附的元素的作用域中运行。
var btn = document.getElementById("myBtn"); btn.addEventListener("click", function(){ alert(this.id);}, false);
总结:事件绑定在哪个元素身上,this 就指向谁;(IE 的 attachEvent 注册的事件处理程序 this 是全局对象)