小程序基础14:事件

1.事件

什么是事件?

  • 事件是视图层到逻辑层的通讯方式。
  • 事件可以将用户的行为反馈到逻辑层进行处理
  • 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。
  • 事件对象可以携带额外信息,如 id, dataset, touches。

事件的使用方式

  • 在组件中绑定一个事件处理函数。

bindtap,当用户点击该组件的时候会在该页面对应的Page中找到相应的事件处理函数。

<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>

在相应的Page定义中写上相应的事件处理函数,参数是event。

Page({
  tapName: function(event) {
    console.log(event)
  }
})

可在控制台下查看其具体信息。

事件详解

事件分类

事件分为冒泡事件和非冒泡事件:

  1. 冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。
  2. 非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。

WXML的冒泡事件列表:暂时不是很理解

事件绑定

事件绑定的写法同组件的属性,以 key、value 的形式。

  • key 以bindcatch开头,然后跟上事件的类型,如bindtapcatchtouchstart
  • value 是一个字符串,需要在对应的 Page 中定义同名的函数。不然当触发事件的时候会报错。(触发时才会报错)

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

如在下边这个例子中,点击 inner view 会先后触发handleTap3handleTap2(因为tap事件会冒泡到 middle view,而 middle view 阻止了 tap 事件冒泡,不再向父节点传递),点击 middle view 会触发handleTap2,点击 outter view 会触发handleTap1

<view id="outter" bindtap="handleTap1">
  outer view
  <view id="middle" catchtap="handleTap2">
    middle view
    <view id="inner" bindtap="handleTap3">
      inner view
    </view>
  </view>
</view>

事件对象

如无特殊说明,当组件触发事件时,逻辑层绑定该事件的处理函数会收到一个事件对象。

BaseEvent 基础事件对象属性列表:

CustomEvent 自定义事件对象属性列表(继承 BaseEvent):

TouchEvent 触摸事件对象属性列表(继承 BaseEvent):

参数详解

type:

代表事件的类型。

timeStamp:

页面打开到触发事件所经过的毫秒数。

target:

触发事件的源组件。

currentTarget:

事件绑定的当前组件。

时间: 2024-10-20 19:25:53

小程序基础14:事件的相关文章

大牛带您微信小程序基础

前言什么是微信小程序,它是一种轻量级的APP,它与常规App来说,无需下载安装即可使用,它嵌于微信App中,要使用微信小程序你只需要搜索一下微信小程序的名称就好,如近期的"Google的画图"小程序等,小程序不同于APP一点的是,小程序成本低,前期宣传,可以靠扫描二维码,分享群,朋友圈等,来提高微信小程序的使用.无需安装即可下载的特点,也深受广大群众的喜欢.介绍小程序是一种用完即走的那么一种模式,从开始的B2C模式,人与商品,到P2P模式,人与人,在到C2P模式,人与服务.小程序就是那

.NET教程:微信小程序基础入门

.NET教程:微信小程序基础入门 准备 Demo 项目地址 (https://github.com/zce/weapp-demo) Clone or Download(需准备GIT环境) $ cd path/to/project/root $ git clone https://github.com/zce/weapp-demo.git project-name --depth 1 $ cd project-name 没有git环境,可以直接下载 (https://github.com/zce/

小程序基础

一.准备 开发小程序的第一步,你需要拥有一个小程序帐号,通过这个帐号你就可以管理你的小程序. 小程序的 AppID 相当于小程序平台的一个身份证. 开发工具的使用 界面:模拟器(iphone6标准).编辑器.调试器: 编译:普通编译.添加编译模式(调试某个页面). 详情(选择开发版本.是否验证合法域名) 二.代码构成 最简单的小程序 ├── app.js ├── app.json ├── app.wxss ├── pages │ │── index │ │ ├── index.wxml │ │

微信小程序基础入门

准备 Demo 项目地址 https://github.com/zce/weapp-demo Clone or Download(需准备GIT环境) $ cd path/to/project/root $ git clone https://github.com/zce/weapp-demo.git project-name --depth 1 $ cd project-name 没有git环境,可以直接下载 安装开发环境 下载地址 Windows 64位 Windows 32位 macOS 安

微信小程序基础之创建使用教程

本文档将带你一步步创建完成一个微信小程序,并可以在手机上体验该小程序的实际效果.这个小程序的首页将会显示欢迎语以及当前用户的微信头像,点击头像,可以在新开的页面中查看当前小程序的启动日志. 1. 获取微信小程序的 AppID 登录 https://mp.weixin.qq.com ,就可以在网站的"设置"-"开发者设置"中,查看到微信小程序的 AppID 了,注意不可直接使用服务号或订阅号的 AppID .(一般这个AppID需要公司营业许可证,还必须要缴费才可获得

微信小程序基础语法总结

本文介绍微信小程序语法 配置文件 app.json的配置(全局) { // 用来配置页面的路径 "pages":[ "pages/index/index", // 首页 "pages/Test/Test" // 跳转的页面 ], "window":{ "enablePullDownRefresh": true, // 是否支持下拉刷新 "backgroundTextStyle":&quo

关于小程序基础库

基础库 基础库与客户端之间的关系 小程序的能力需要微信客户端来支撑,每一个基础库都只能在对应的客户端版本上运行,高版本的基础库无法兼容低版本的微信客户端. 关于基础库的兼容方法,可以查看「兼容处理」章节. 基础库更新时机 为了避免新版本的基础库给线上小程序带来未知的影响,微信客户端都是携带 上一个稳定版 的基础库发布的. 在新版本客户端发布后,再通过后台灰度新版本基础库,灰度时长一般为 12 小时,在灰度结束后,用户设备上才会有新版本的基础库. 官方API地址 : linkhttps://dev

小程序基础介绍

1.app.json 小程序的全局配置,包括了小程序的所有页面路径.界面表现.网络超时时间.底部 tab 等 @1.pages字段 —— 用于描述当前小程序所有页面路径,这是为了让微信客户端知道当前你的小程序页面定义在哪个目录.必填 @2.window字段 —— 定义小程序所有页面的顶部背景颜色,文字颜色定义等. @3.tabBar底部tab栏表现 object @4.networkTimeout 网络超时时间 object @5.debug 是否开启debug boolean @6.funct

小程序基础知识梳理

微信开发者工具中新建项目 教程:https://blog.csdn.net/michael_ouyang/article/details/54923784 C:\Users\Administrator\WeChatProjects\miniprogram-1  1.将test 页面加入 app.json 打开全局文件 app.json,在文件里面添加 "pages/test/test"(加入一条 test 页面所在的目录 ) 2.全局对象获取 在app.js页面中有一个globalDa