1. 程式人生 > >小程序 事件

小程序 事件

文件中 handle 行處理 類型 UC 形式 處理 let 程序

 什麽是事件

  • 事件是視圖層到邏輯層的通訊方式。
  • 事件可以將用戶的行為反饋到邏輯層進行處理。
  • 事件可以綁定在組件上,當達到觸發事件,就會執行邏輯層中對應的事件處理函數。
  • 事件對象可以攜帶額外信息,如 id, dataset, touches。  

 cancel 事件的使用方式

  catchtap不會冒泡,僅在當前元素觸發

  在組件中綁定一個事件處理函數。如:做一個搜索框清空的效果

  在相對應的wxml文件中:

1 <icon class=‘icon_cancel‘ catchtap=‘cancel‘ type="cancel" size="20"/>
  • 在相應的Page定義中寫上相應的事件處理函數
    1
    // 點擊清除搜索內容 2 cancel: function() { 3 this.setData({ 4 searchValue: ‘‘ 5 }) 6 },

    事件綁定和冒泡  

  事件綁定的寫法同組件的屬性,以 key、value 的形式。

  • key 以bindcatch開頭,然後跟上事件的類型,如bindtapcatchtouchstart。自基礎庫版本 1.5.0 起,bindcatch後可以緊跟一個冒號,其含義不變,如bind:tap、、catch:touchstart
  • value 是一個字符串,需要在對應的 Page 中定義同名的函數。不然當觸發事件的時候會報錯。

bind事件綁定不會阻止冒泡事件向上冒泡,catch事件綁定可以阻止冒泡事件向上冒泡。

如在下邊這個例子中,點擊 inner view 會先後調用handleTap3handleTap2(因為tap事件會冒泡到 middle view,而 middle view 阻止了 tap 事件冒泡,不再向父節點傳遞),點擊 middle view 會觸發handleTap2,點擊 outer view 會觸發handleTap1

1 <view id="outer" bindtap="handleTap1">
2   outer view
3   <view id="middle"
catchtap="handleTap2"> 4 middle view 5 <view id="inner" bindtap="handleTap3"> 6 inner view 7 </view> 8 </view> 9 </view>

  

  

小程序 事件