前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小程序 | 10-事件

小程序 | 10-事件

作者头像
CnPeng
发布2021-05-17 15:15:21
4040
发布2021-05-17 15:15:21
举报
文章被收录于专栏:CnPengDevCnPengDev

小程序需要经常和用户进行各种交互,比如,点击界面上的某个按钮或者区域,比如滑动了某个区域;这些交互都会产生各种各样的事件。

通过 bindcatch 属性可以将事件绑定到组件上,然后在该页面对应的 Page 构造器(.js 文件)中定义对应的事件处理函数,如果没有对应的函数,触发事件时会报错。当用户和组件产生交互后,就会触发绑定的事件,并调用事件函数,该函数将会受到一个事件对象-event.

1. 事件类型

分为通用事件和特有事件。

  • 通用事件:
  • 特有事件

如:input 有 bindinput、bindblur、bindfocus 等;scroll-view 有 bindscrolltowpper、bindscrolltolower

2. 事件对象

事件对象中包含如下几种类别的属性:

  • BaseEvent 基础事件对象属性列表:
  • CustomEvent 自定义事件对象属性列表(继承 BaseEvent):
  • TouchEvent 触摸事件对象属性列表(继承 BaseEvent):

特殊事件:canvas 中的触摸事件不可冒泡,所以没有 currentTarget。

3. 事件的参数传递

代码语言:javascript
复制
<!--pages/event/event.wxml-->
<view class='container1'>
  <block wx:for="{{titles}}" wx:key="index">
    <!-- 在 data-index 和 data-item 中,末尾的 index 和 item 是我们自定义的 key,这是事件中传递数据的方式 -->
    <view class='item' bindtap="handleItemClick" data-index="{{index}}" data-item="{{item}}">{{item}}</view>
  </block>
</view>
代码语言:javascript
复制
// pages/event/event.js
代码语言:javascript
复制
/* pages/event/event.wxss */

.container1{
  display: flex;
}

.item{
  flex: 1;
  text-align: center;
}

4. 捕获和传递事件

  • capture-bind:tap = "xxx" 用 xxx 函数来监听事件的捕获。
  • bindtap = "xxx" 监听事件,并将事件继续传递下去。
  • capture-catch:tap = "xxx" 捕获事件并终止传递。

关于事件的官方文档:

https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CnPeng 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 事件类型
  • 2. 事件对象
  • 3. 事件的参数传递
  • 4. 捕获和传递事件
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档