小程序e.target.dataset和e.currentTarget.dataset区别
作者:xlnxin发布时间:2024-11-18分类:编程知识浏览:101
导读:在微信小程序中,事件对象e包含了一些特殊的属性,currentTarget和target是其中两个常用的属性。currentTarget表示触发事件的当前组件,而target是触发...
在微信小程序中,事件对象e包含了一些特殊的属性,currentTarget和target是其中两个常用的属性。currentTarget表示触发事件的当前组件,而target是触发事件的原始组件。
e.target和e.currentTarget都有一个dataset属性,这个属性可以获取到组件上绑定的data-*属性集合。不同点在于,e.target获取的是触发事件的源头组件的data-*属性,而e.currentTarget获取的是触发事件的当前组件的data-*属性。
<view id="outer" bindtap="tapHandle"> 外层view <view id="inner" data-name="innerView" bindtap="tapHandle"> 内层view </view> </view>
tapHandle(e) { console.log(e.target.dataset.name); // 当点击内层view时,输出"innerView" console.log(e.currentTarget.dataset.name); // 当点击内层view时,输出"undefined",因为外层view没有绑定data-name属性 }
在这个例子中,当点击内层view时,e.target指向的是内层view,因此输出内层view的data-name属性。而e.currentTarget指向的是当前触发事件的view,即外层view,因此无法获取到外层view的data-name属性,所以输出undefined。
如果需要获取外层view的data-*属性,可以使用e.currentTarget.dataset。
tapHandle(e) { console.log(e.currentTarget.dataset.name); // 当点击内层view时,输出"outerView" }
- 上一篇:excel vba实现模板批量打印
- 下一篇:几种常用接口调用方式
相关推荐
- 双击excel打开不显示任何内容,只能在excel里面打开文件解决方法
- 小程序saveVideoToPhotosAlbum安卓手机可以下载MP4苹果手机不能下载解决方法
- 小程序逆向错误之 typeof3 is not a function
- EXCEL双击不能直接打开EXCEL文件解决办法
- 微信小程序function函数arguments 是什么意思呢?
- 微信小程序、app之间的跳转代码
- 小程序登录获取openid后再执行页面的方法
- 小程序Cannot read property 'enableUpdateWxAppCode'解决方法
- 微信小程序canvas绘制渐变背景颜色方法
- 如何完善小程序个人隐私设置?
- 编程知识排行
- 最近发表