微信小程序-bindtap事件与冒泡
bindtap就是点击事件
在.wxml文件绑定:
<text id='textId' data-userXxx='100' bindtap='tapMessage'>cilck here</text>
在一个组件的属性上添加bindtap并赋予一个值(一个函数名)
当点击该组件时, 会触发相应的函数执行
在后台.js文件中定义tapMessage函数:
//index.js
Page({
data: {
mo: 'Hello World!!',
userid : '1234',
}, // 定义函数
tapMessage: function(event) {
console.log(event.target.id); // 可获得
console.log(event.target.name); // 无法获得, 通过target只能直接获取id
console.log(event.target.dataset); // 要获得其它属性, 需要从dataset(数据集)中获取
// userXxx为自定义的属性名, 但命名方式为:data-userXxx
}
})
event封装的是该事件的信息, 如上通过它可得到一些数据
注意一点:
<!-- data-userXxx,这个大写的X要改为-x -->
<text id='textId' data-user-xxx='100' bindtap='tapMessage'>cilck here</text>
自定义数据时有两种写法:
定义为data-userXxx时,读取数据event.target.dataset.userxxx
定义为data-user-Xxx时,读取数据event.target.dataset.userXxx
事件冒泡就是指嵌套事件发生
如果多层标签嵌套, 里层事件发生后, 其外层会相应发生, 如:
<view bindtap='handout'>
outer
<view bindtap='handmiddle'>
middle
<view bindtap='handinner'>inner</view>
</view>
</view> handout: function () {
console.log("out");
}, handmiddle: function () {
console.log("middle");
}, handinner: function () {
console.log("inner");
}
点击inner三个事件都执行, 点击middlek执行handmiddle和handout, 点击out只执行handout
阻止事件冒泡行为: 将bindtap改为catchtap就行了, 只会触发自身的点击事件
<view bindtap='handout'>
outer
<view catchtap='handmiddle'>
middle
<view bindtap='handinner'>inner</view>
</view>
</view>
需要理解是, 它阻断自身的冒泡行为
如上点击inner, 执行的是handinner和handmiddle两个函数
不管是不是自身触发的点击行为, 传到我这里, 我就将它阻断(不再向上传递)
微信小程序-bindtap事件与冒泡的更多相关文章
- 微信小程序bindtap与catchtap的区别
1.什么是事件 (1) 事件是视图层到逻辑层的通讯方式. (2) 事件可以将用户的行为反馈到逻辑层进行处理. (3) 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数. (4) ...
- 微信小程序中事件
微信小程序中事件 一.常见的事件有 类型 触发条件 最低版本 touchstart 手指触摸动作开始 touchmove 手指触摸后移动 touchcancel 手指触摸动作被打断,如来电提醒,弹窗 ...
- 微信小程序:事件绑定
小程序中绑定事件,通过bind关键字来实现.如bindinput,bindtap(绑定点击事件),bindchange等. 什么是事件 事件是视图层到逻辑层的通讯方式. 事件可以将用户的行为反馈到逻辑 ...
- 微信小程序Dom事件实现
面对微信小程序,可能没有像我们平时使用JQuery那样随心所欲.本篇就是为了解决这个问题. 请合理使用工具! 细节就不说了,直接备份一个实现的案例: wxml <view class=" ...
- 微信小程序自定义事件
案例结构 首先,我还是会以案例的形式向大家讲解(这样也能方便大家更好的理解)简单介绍一下案例项目的内容(以上一章自定义组件的案例为基础)项目名称:component自定义子组件cpt父组件:logs ...
- 微信小程序(三)-事件绑定
小程序事件绑定 https://developers.weixin.qq.com/miniprogram/dev/framework/view/two-way-bindings.html 1.数据 / ...
- 微信小程序的事件
事件,视图层到逻辑层的一种通讯方式,或者将用户的行为返回到逻辑层,当我们在组件绑定事件之后,当我们触发事件,就会执行逻辑层绑定的事件,处理回调函数,当页面的事件触发之后 页面上元素一些额外事件,通过事 ...
- 微信小程序 - bindtap等事件传参
什么是事件事件是视图层到逻辑层的通讯方式. 事件可以将用户的行为反馈到逻辑层进行处理. 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数. 事件对象可以携带额外信息,如 id, ...
- 微信小程序-视图事件
事件 什么是事件 事件是视图层到逻辑层的通讯方式. 事件可以将用户的行为反馈到逻辑层进行处理. 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数. 事件对象可以携带额外信息,如 ...
随机推荐
- python面向对象的三大特征
1.封装: 封装就是对类和对象的成员访问进行限制,设定可以访问的方式和不可以访问的方式. 分类: 私有化的封装:当前类/对象种可以使用,类/对象外和子类/对象都不可以用 受保护的封装:当前类/对象和子 ...
- nodejs 开发服务端 child_process 调试方法(1)
由于最近正在做一个服务端项目,采用了nodejs引擎开发,主要是master-worker工作机制;主进程可以直接调试,但是子进程调试好像有点麻烦,我没有找到好的方法; worker这里,我分拆成了几 ...
- Numpy 学习 array np.where lexsort 切片 按行按列求平均mean
array 的创建可以通过list给 array print出来像一个表格,可以按行按列来观察. 原来是一个list相当于一行 np.where用于寻找一个condition下的坐标,返回的是一个2个 ...
- [RF] Robot Framework新手干货(转载)
Robot Framework用法总结 Robot Framework完整流程学习系列一 Robotframework自动化新手常见问题总结--(基础篇)
- PropertyPlaceholderConfigurer
PropertyPlaceholderConfigurer Spirng在生命周期里关于Bean的处理大概可以分为下面几步: 加载 Bean 定义(从xml或者从@Import等) 处理 BeanFa ...
- 在ListView中添加EditText丢失光标问题解决
<ListView android:id="@android:id/list" android:layout_height="fill_parent& ...
- 【RabbitMQ】 RabbitMQ安装
MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消息传递指的是程序之间 ...
- syslog系统日志、Windows事件日志监控
- Mac DS_Store
.DS_Store是Mac OS保存文件夹的自定义属性的隐藏文件,如文件的图标位置或背景色,相当于Windows的desktop.ini. 1,禁止.DS_store生成:打开 “终端” ,复制黏贴下 ...
- linux 下安装nginx
下载 下载版本 nginx-1.13.4.tar.gz 安装 1.解压 tar -zxvf nginx-1.13.4.tar.gz 2.配置安装目录 ./configure —prefix=/usr ...