Skip to content

事件处理

事件使用 bind: 或简写 bind 绑定。bind 事件会冒泡,catch 事件会阻止冒泡。

xml
<view bindtap="openDetail" data-id="{{item.id}}">
  <button catchtap="toggleFavorite" data-id="{{item.id}}">收藏</button>
</view>
js
Page({
  openDetail(event) {
    const { id } = event.currentTarget.dataset
    wx.navigateTo({ url: `/pages/detail/index?id=${encodeURIComponent(id)}` })
  },
  toggleFavorite(event) {
    const { id } = event.currentTarget.dataset
    // 更新收藏状态
  },
})

targetcurrentTarget

  • target:实际触发事件的最内层节点。
  • currentTarget:绑定处理函数的节点。

业务标识通常从 currentTarget.dataset 读取。不要通过遍历节点或从展示文本反推业务数据。

基于 MIT 许可发布