前言
这两个属性名称相差不多,时常分不清谁是谁, 所以在此再加重一下记忆
结论
- event.target等于触发事件的事件源对象。
- event.currentTarget等于事件绑定的那个对象, 也就是绑定处理函数内部的this
拓展——处理函数内部的this
事件的绑定方式,html处理事件
代码 如下
<button onclick = "hanshu()">
此时, 函数内部this是window对象
DOM0级事件
代码如下
<button id="btn" ></button>
document.getElementById('btn').onclick= function(){
console.log(this)
}
此时this是document.getElementById(‘btn’)这个对象
DOM2级事件
代码如下
<button id="btn" ></button>
document.getElementById('btn').addEventListener('click',function(){
console.log(this)
}, false)
此时this同DOM1级一样是document.getElementById(‘btn’)这个对象
所以
- event.currentTarget 等于this(除了html事件处理程序)
- event.target等于事件源对象