1. 程式人生 > >微信小程序學習Course 2 事件

微信小程序學習Course 2 事件

類型 family 函數代碼 傳輸數據 tail function 冒泡 微信 log

微信小程序學習Course 2 事件

事件是用來打通邏輯層與視圖層的樞紐,我們一般在視圖層(WXML文件)對某個控件綁定事件函數,在邏輯層(JS文件)編寫事件函數代碼。

2.1 事件類型

小程序中有兩類事件

1、冒泡事件:當一個組件的事件被觸發時,該事件會向父節點傳遞數據。

2、非冒泡事件:當一個組件上的事件被觸發時,該事件不會向父節點傳輸數據。

2.2 事件綁定

事件的綁定比較簡單,在視圖層中增加類似如下代碼,事件通常有兩種開頭,一種時bind以他開頭代表普通模式;另一種是catch開頭,他會阻止冒泡事件冒泡。初期只需要用bind模式即可

<view bindtap="viewTap"> click me </view>

  上述代碼中bindtap代表點擊事件,他所觸發的函數為viewTap,所以我們在邏輯層編寫viewTap函數即可。

如下所示:

Page({
  viewTap: function(e) {
    console.log(‘view tap‘)
  }
})

  定義一個函數viewTap,入口參數為e,此對象會攜帶一些數據,可以供我們操作使用。

2.3 事件對象

函數viewTap,入口參數為e,此對象會攜帶一些數據,可以供我們操作使用。

1、type事件類型

e.type 事件類型,tap類型或者其他類型

2、timeStamp觸發時間

3、target觸發源

e.target.id 得到觸發源組件的id

e.target.offsetLeft 組件坐標的偏移量

e.target.offsetTop 組件坐標的偏移量

e.target.dataset.org 獲取data開頭的數據,在控件中我們可以定義data開頭的變量參數

例如

<view data-org = "test" bindtap = "tap1">

  如上代碼視圖層定義了data-org參數,則可以在邏輯層通過e.target.dataset.org獲取其值。

4、detail

detail會對應一些表單輸入

5、touch屬性

pageX pageY文檔觸摸點偏移量

screenX screenY 屏幕偏移量

微信小程序學習Course 2 事件