bindtap就是点击事件
<强>在.wxml文件绑定:强>
& lt;文本id=皌extId”data-userxxx=100”bindtap=' tapMessage祝辞cilck here
在一个组件的属性上添加bindtap并赋予一个值(一个函数名)
当点击该组件时,会触发相应的函数执行
<强>在后台js文件中定义tapMessage函数:强>
//index.js 页面({ 数据:{ 莫:“Hello World ! !” 用户标识:“1234”, },//定义函数 tapMessage:函数(事件){ console.log (event.target.id);//可获得 console.log (event.target.name);//无法获得,通过目标只能直接获取id console.log (event.target.dataset);//要获得其它属性,需要从数据集(数据集)中获取 console.log (event.target.dataset.userxxx);//userxxx为自定义的属性名,但命名方式为:data-userxxx//这里还原使用userXxx console.log (event.target.dataset.userXxx); } })
事件封装的是该事件的信息,如上通过它可得到一些数据
<强>注意一点:强>
& lt; !——data-userXxx,这个大写的X要改为- X——比; & lt;文本id=皌extId”data-user-xxx=100”bindtap=' tapMessage祝辞cilck here
自定义数据(数据)中的大写改为短横线+其小写
取数据时,去掉数据和那些短横线并还原大写(data-user-xxx——比;userXxx)
事件冒泡就是指嵌套事件发生
<>强如果多层标签嵌套,里层事件发生后,其外层会相应发生,如:强>
& lt;视图bindtap=笆┥帷北? 外 & lt;视图bindtap=handmiddle的祝辞 中间 & lt;视图bindtap=' handinner祝辞inner & lt;/view> & lt;/view>
讲义:函数(){ console.log (“”); }, handmiddle:函数(){ console.log(“中间”); }, handinner:函数(){ console.log(“内部”); }
点击内部三个事件都执行,点击middlek执行handmiddle和施舍,点击了只执行讲义
阻止事件冒泡行为:将bindtap改为catchtap就行了,只会触发自身的点击事件
& lt;视图bindtap=笆┥帷北? 外 & lt;视图catchtap=handmiddle的祝辞 中间 & lt;视图bindtap=' handinner祝辞inner & lt;/view> & lt;/view>
需要理解是,它阻断自身的冒泡行为
如上点击内心,执行的是handinner和handmiddle两个函数
不管是不是自身触发的点击行为,传到我这里,我就将它阻断(不再向上传递)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。