小知识:微信小程序target和currentTarget的区别

在小流程中,e.target与e.currentTarget是十分关键的,特别是牵涉到网页fork时

currentTarget和target都是模块的许多特性值子集,由“data-特性名”表述的许多特性值

currentTarget:该事件促发的现阶段该事件(现阶段该事件,可能将是促发该事件的源模块,可能将是促发的该事件模块(即促发该事件源模块的子原素),这时点选子原素却是父原素,都是现阶段该事件,应用领域e.currentTargettarget:促发该事件的源模块(该事件注册登记/存取所处模块)

举个范例:


撰稿 
 

接着点选父原素中的子原素时:

parentClick该事件中的currentTarget和target列印出,如下表所示:

parentClick:function(e){
console.log("点选父原素")
console.log("target",e.target)//target:{child:"子原素"}
console.log("currentTarget",e.currentTarget)//target:{parent:"父原素"}
}

即使存取在父原素上的parentClick该事件,是Thuir原素促发的,因此target的值是子原素所包涵的许多特性值子集;currentTarget则是存取该事件的该模块(父原素)的特性值子集。

给子原素存取两个该事件:childClick,列印出的currentTarget和target是那样的。


撰稿 
 

接着点选子原素该事件:

childClick:function(e){
console.log("点选父原素")
console.log("target",e.target)//target:{child:"子原素"}
console.log("currentTarget",e.currentTarget)//target:{child:"子原素"}
}

扩展

结合this来看:this === e.currentTarget 总是为truethis === e.target 有可能将不是true

建站知识

猿站网:微信小程序常用

2022-5-19 21:04:55

建站知识

猿站网:导出文件时,responseType设置为arraybuffer,如果导出出错,后台返回错误信息应该怎么办?

2022-5-19 21:15:05

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索