事件对象属性之target和currenTarget

前言

这两个属性名称相差不多,时常分不清谁是谁, 所以在此再加重一下记忆

结论

  • 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等于事件源对象

猜你喜欢

转载自blog.csdn.net/qq_34178990/article/details/80986212