最近在项目中经常使用到$event,百度了发现一个写的很好的文章,便记录了下来
用概念区分
event.currentTarget始终指向事件所绑定的元素,而event.target指向事件发生时的元素。
示例说明
1 | <a href="javascript:;" @click="test($event)" > |
点击a时触发openPlays,传入当前对象
1 | test(e) { |
当点击“i”区域之外时:
当点击a中的“i”时:
小结
从上面的结果可以看出,不管你点击的是a本身或者a里面任何子集,currentTarget其获取到的对象都为绑定事件的a;当使用target时,如果你点击到a元素则传a元素,如果点击到a之中的某个子级元素则传a之中的某个元素。一句话,target会变,点到谁身上返回谁,currentTarget不会变,返回事件源对象。