微信小程序中事件

微信小程序中事件

一.常见的事件有

类型 触发条件 最低版本
touchstart 手指触摸动做开始
touchmove 手指触摸后移动
touchcancel 手指触摸动做被打断,如来电提醒,弹窗
touchend 手指触摸动做结束
tap 手指触摸后立刻离开
longpress 手指触摸后,超过350ms再离开,若是指定了事件回调函数并触发了这个事件,tap事件将不被触发 1.5.0
longtap 手指触摸后,超过350ms再离开(推荐使用longpress事件代替)
transitionend 会在 WXSS transition 或 wx.createAnimation 动画结束后触发
animationstart 会在一个 WXSS animation 动画开始时触发
animationiteration 会在一个 WXSS animation 一次迭代结束时触发
animationend 会在一个 WXSS animation 动画完成时触发
touchforcechange 在支持 3D Touch 的 iPhone 设备,重按时会触发

有两个注意点html

Touchcancle: 在某些特定场景下才会触发(好比来电打断等)

​ tap事件和longpress事件一般只会触发其中一个python

二.书写方式

页面中

不须要传参的事件

<!--写法一 bind事件名='函数名' -->
<button bindtap="fuck">点我</button>
<!--写法一 bind:事件名='函数名' -->

须要传参的事件

<!-- 点击传参data-传过去的key='变量值' -->
<button bindtap="fuck_1" data-name="ywy">传参</button>
<!-- 点击传变量data-传过去的key='{{变量名}}' -->
<button bindtap="fuck_2" data-number='{{a}}'>{{a}}</button>

js文件中

fuck:function(){
    console.log('1111111')
  },
  fuck_1: function (data) {
   console.log(data)
  },
  fuck_2: function (e) {
    console.log(e)
  },

三.有传参的事件取值

事件传递参数

当视图层发生事件时,某些状况须要事件携带一些参数到执行的函数中, 这个时候就能够经过小程序

data-属性来完成:微信小程序

1 格式:data-属性的名称微信

2 获取:e.currentTarget.dataset.属性的名称函数

currentTarget和target的区别

这个区别普通的标签看不出来,可是一旦有标签的父标签页有一个事件时候,这时候就有区别,currentTarget指向的是自己的函数调用传的参数,而target不是动画

四.传参和定义变量之间的操做

页面中js
  func:function(e){
    this.setData({
        变量名:this.data.变量名++
    })
  },
相关文章
相关标签/搜索