this 的指向
监听函数内部的this指向触发事件的那个元素节点。
<button id="btn" onclick="console.log(this.id)">点击</button>
执行上面代码,点击后会输出btn。
其他两种监听函数的写法,this的指向也是如此。
// HTML 代码如下
// <button id="btn">点击</button>
var btn = document.getElementById('btn');
// 写法一
btn.onclick = function () {
console.log(this.id);
};
// 写法二
btn.addEventListener(
'click',
function (e) {
console.log(this.id);
},
false
);
上面两种写法,点击按钮以后也是输出btn。
http://javascript.ruanyifeng.com/dom/event.html#toc9