微信小程序中事件


微信小程序中事件

一.常見的事件有

類型 觸發條件 最低版本
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 設備,重按時會觸發

有兩個注意點

	Touchcancle: 在某些特定場景下才會觸發(比如來電打斷等) 

​ tap事件和longpress事件通常只會觸發其中一個

二.書寫方式

頁面中

不需要傳參的事件

<!--寫法一 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.變量名++
    })
  },


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM