1.微信小程序中的事件,以及为什么要用 data- 来绑定属性
原因:因为微信小程序中不能直接使用函数传参,就是用data-来绑定一个属性,进行传参
<!-- 通过 bindtap 给元素绑定事件 -->
<view bindtap="SetData" data-name="mxc">按钮</view>
Page({
data: {
name:""
},
// 事件函数与 data 同级
SetData:function(e){
console.log(e)
// 通过拿到的值给this.data赋值
this.setData({
name:e.target.dataset.name // 通过e.target.dataset可以拿到元素data-中的属性以及对应的值
})
console.log(this.data.name)
}
})

2.微信小程序中的事件
注意:bind绑定事件不会阻止冒泡事件向上冒泡,catch绑定事件能阻止冒泡事件向上冒泡
类型 | 触发条件 |
---|---|
touchstart | 手指触摸动作开始 |
touchmove | 手指触摸后移动 |
touchcancel | 手指触摸动作被打断,如来电提醒,弹窗 |
touchend | 手指触摸动作结束 |
tap | 手指触摸后马上离开 |
longtap | 手指触摸后,超过350ms再离开(推荐使用longpress事件代替) |
longpress | 手指触摸后,超过350ms再离开,如果指定了事件回调函数并触发了这个事件,tap事件将不被触发 |
touchforcechange | 在支持 3D Touch 的 iPhone 设备,重按时会触发 |
transitionend | 会在 WXSS transition 或 wx.createAnimation 动画结束后触发 |
animationstart | 会在一个 WXSS animation 动画开始时触发 |
animationiteration | 会在一个 WXSS animation 一次迭代结束时触发 |
animationend | 会在一个 WXSS animation 动画完成时触发 |
3.微信小程序中的事件对象
属性 | 类型 | 说明 |
---|---|---|
type | String | 事件类型 |
timeStamp | Integer | 出发事件的时间戳 |
target | Object | 触发事件组件的一些属性值集合 |
currentTarget | Object | 当前组件的一些属性值集合 |
mark | Object | 事件标记数据 |