本文主要对小程序bindtap事件和气泡预防进行详细介绍。文章通过示例代码非常详细,对大家的学习或者工作都有一定的参考价值。有需要的朋友可以参考一下。
Bindtap是一个点击事件
在.wxml文件绑定:
text id= textId data-user XXX= 100 bind tap= tap message 单击此处/text
将bindtap添加到组件的属性中,并赋予它一个值(函数名)。
当组件被点击时,相应的功能将被触发。
在后台.js文件中定义tapMessage函数:
//index.js
页面({
数据:{
莫:‘你好,世界!,
用户id:“1234”,
},
//定义函数
tapMessage:函数(事件){
console . log(event . target . id);//可用
console . log(event . target . name);//无法获取,只能通过target直接获取id
控制台. log(event . target . dataset);//要获取其他属性,需要从dataset中获取。
console . log(event . target . dataset . user XXX);//userxxx是用户自定义的属性名,但是命名方法是:data-userxxx
//这里用userXxx进行还原。
console . log(event . target . dataset . user XXX);
}
})
事件封装了事件的信息,可以像上面一样通过它获取一些数据。
注意一点:
!- data-userXxx,这个大写的X应该改成-x-
text id= textId data-user-XXX= 100 bind tap= tap message 单击此处/text
自定义数据(data-)的大写改为破折号的小写。
取数据时,去掉数据和那些短横线,恢复大写(data-data-user-xxx - userXxx)。
事件冒泡指的是嵌套事件。
如果多层标签嵌套, 里层事件发生后, 其外层会相应发生, 如:
查看bindtap=讲义
外面的
视图bindtap=handmiddle
中间
视图bindtap=handinner 内部/视图
/查看
/查看
讲义:函数(){
console . log( out );
},
handmiddle: function () {
console . log(“middle”);
},
handinner: function () {
console . log( inner );
}
单击inner执行所有三个事件,单击middlek执行handmiddle和handsout,单击out仅执行handsout。
停止事件冒泡行为:只需将bindtap改为catchtap,这样只会触发自己的click事件。
查看bindtap=讲义
外面的
view catchtap=handmiddle
中间
视图bindtap=handinner 内部/视图
/查看
/查看
应该理解,它阻止了自己冒泡行为。
如上点击inner,执行handinner和handmiddle两个功能。
不管是不是自触发点击,如果传到我这里,我就屏蔽(不再向上传)。
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。