赞
踩
事件 | 描述 | 备注 |
---|---|---|
tap | 点击 | |
longtap | 长按 | 推荐使用 longpress 代替 longtap |
longpress | 长按 | tap 事件不会再触发(基础库 1.5.0) |
touchstart | 触摸开始 | |
touchmove | 触摸过程中,手指进行了移动 | |
touchend | 触摸结束 | |
touchcancel | 触摸被打断 | 例:来电、弹窗 |
以 tap 事件为例,事件绑定的写法如下:
<!--
bind 事件绑定关键字
tap 事件
onTap 事件监听函数
-->
<button bindtap="onTap">按钮</button>
基础库 1.5.0 起,事件绑定关键字 和 事件 之间可以用 “:” 连接,含义不变
<!-- bind:tap 和 bindtap 含义相同 -->
<button bind:tap="onTap">按钮</button>
绑定事件时,可以使用数据绑定的语法
<!-- functionName 的值是 string 类型 -->
<button bind:tap="{{ functionName }}">按钮</button>
页面的 JS 文件
Page({
data: {
functionName: 'onTap'
},
onTap(event) {
console.log('onTap', event)
}
})
基本事件绑定
阻止事件向上冒泡
冒泡过程中,如果有多个使用 mut-bind 绑定事件监听的元素,只有第一个会被触发(基础库 2.8.2)
在捕获阶段触发事件(基础库 1.5.0)
在捕获阶段触发事件,终止后续捕获阶段并取消冒泡阶段(基础库 1.5.0)
基础事件的常见属性
属性 | 描述 |
---|---|
event.type | 事件类型 |
event.timeStamp | 页面打开到触发事件所经过的毫秒数 |
event.target | 触发事件的组件 |
event.currentTarget | 绑定事件的当前组件 |
触摸事件的常见属性
属性 | 描述 |
---|---|
event.touches | touches 是一个数组,表示当前停留在屏幕上的触摸点 |
event.changedTouches | changedTouches 是一个数组,表示发生变化的触摸点。从无到有(touchstart),发生变化(touchmove),从有到无(touchend, touchcancel) |
自定义事件的常见属性
属性 | 描述 |
---|---|
event.detail | 自定义事件携带的数据。小程序框架提供的组件,也会在 detail 携带一些数据。 |
在组件上使用 data- 前缀声明的属性,可以在事件对象中获取到
<!-- 自定义属性 -->
<button data-msg="{{ msg }}" bind:tap="onTap">按钮</button>
Page({
data: {
msg: 'Hello world!'
},
onTap(event) {
// 通过事件对象获取自定义属性的值
console.log(event.currentTarget.dataset.msg)
}
})
在事件对象中访问自定义属性时,属性名会发生一次转换
在 WXML 中的属性名 | 在事件对象中的属性名 | 访问示例 |
---|---|---|
data-my-data | myData | event.currentTarget.dataset.myData |
data-myData | mydata | event.currentTarget.dataset.mydata |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。