e.currentTarget.dataset和e.target.dataset

e.currentTarget.dataset和e.target.dataset

target:事件源组件对象(事件冒泡源头)

currentTarget:当前组件对象(就是当前对象)

1
2
3
4
5
6
7
8
9
<view id="outter" bindtap="tap1">
outer view
<view id="middle" bindtap="tap2">
middle view
<view id="inner" bindtap="tap3">
inner view
</view>
</view>
</view>
1
2
3
4
5
6
7
8
9
tap1: function (e) {
console.log(1, e)
},
tap2: function (e) {
console.log(2, e)
},
tap3: function (e) {
console.log(3, e)
}

结果如下:

点击子元素inner,但由于事件冒泡父元素middle和outter都触发,从上图中我们可以看出区别:

父元素middle和outter,target的id都是等于inner(子元素的id);

middle的currentTarget的id是middle,outter的currentTarget的id是outter;

总结:

target:事件源组件对象(事件冒泡源头)

currentTarget:当前组件对象(就是当前对象)

e.currentTarget.dataset和e.target.dataset

作者

lvjie

发布于

2022-06-18

许可协议


:D 一言句子获取中...