JS中this与event.target的区别

This:this关键字要想在函数中使用以代表调用函数的那个对象,必须要作为函数的实参传入,而且函数对应的形参还不能直接是this接收。

this是指向调用这个函数的对象,下面例子中,无论点击那个元素,打印出来的都是绑定的box事件对象。

Event:特指此事件对象(点击事件,键盘事件...),包含该事件的所有属性(例如事件类型:mouse)

Event.target:用event的话,调用函数时不用传参,但一定要是事件触发的函数,event就是代表该事件,直接在函数里面使用(类似内置对象的感觉).

下面例子中可以具体到点击的那个元素。

<body>
  <div id="box">
    <ul id="ul">
      <li>西施</li>
      <li>貂蝉</li>
      <li>昭君</li>
    </ul>
    <p>如花</p>
    <p>西施</p>
    <p>王昭君</p>
    <p>貂蝉</p>
    <p>杨玉环</p>
    <span>芙蓉姐姐</span>
    <span>芙蓉姐姐</span>
    <p>凤姐</p>
    <span>芙蓉姐姐</span>
    <span>芙蓉姐姐</span>
  </div>
</body>
var box = document.getElementById("box");
  box.onclick = function (e) {
    // this是指向调用这个函数的对象box
    // console.log(this);
    // e.target表示触发事件的目标对象

    //点击西施
    console.log(e.target);
    console.log(this);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值