微信小程序-小程序事件绑定

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

什么是事件

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


常见事件

  • tap:手指触摸后马上离开
  • longpress:手指触摸后,超过350ms再离开,如果指定了事件回调函数并触发了这个事件,tap事件将不被触发
  • touchstart:手指触摸动作开始
  • touchmove:手指触摸后移动
  • touchcancel:手指触摸动作被打断,如来电提醒,弹窗
  • touchend:手指触摸动作结束


如何绑定事件

bind:绑定冒泡事件

capture-bind:绑定捕获事件

catch:阻止冒泡事件

capture-catch:阻止捕获事件


绑定事件示例:


index.wxml:

<view bind:tap="onTap">我是bind</view>
<view capture-bind:tap="onCaptureBind">我是capture-bind</view>
<view catch:tap="onCatch">我是catch</view>
<view capture-catch:tap="onCaptureCatch">我是capture-catch</view>


index.js:

onTap: function(){
  console.log('onTap call');
},
onCaptureBind: function(){
  console.log('onCaptureBind call');
},
onCatch: function(){
  console.log('onCatch call');
},
onCaptureCatch: function(){
  console.log('onCaptureCatch call');
},


常见事件示例:


index.wxml:

<view bind:tap="onTap">手指触摸后马上离开</view>
<view bind:longpress="onLongpress">手指触摸后,超过350ms再离开,如果指定了事件回调函数并触发了这个事件,tap事件将不被触发</view>
<view bind:touchstart="onTouchstart">手指触摸动作开始</view>
<view bind:touchmove="onTouchmove">手指触摸后移动</view>
<view bind:touchend="onTouchend">手指触摸动作结束</view>


index.js:

onTap: function(){
  console.log('onTap call');
},
onLongpress: function(){
  console.log('onLongpress call');
},
onTouchstart: function(){
  console.log('onTouchstart call');
},
onTouchmove: function(){
  console.log('onTouchmove call');
},
onTouchend: function(){
  console.log('onTouchend call');
},


!> touchcancel:手指触摸动作被打断,如来电提醒,弹窗


index.wxml:

<view bind:touchcancel="onTouchcancel">手指触摸动作被打断,如来电提醒,弹窗</view>


index.js:

onTouchcancel: function(){
  console.log('onTouchcancel call');
},
/**
 * 生命周期函数--监听页面加载
 */
onLoad: function (options) {
  setTimeout(()=>{
    wx.showModal({
      title: '我是弹窗',
      content: '我是弹窗内容'
    });
  }, 3000);
},


我这里使用了弹窗来进行模拟触摸被打断,编译好了代码点击页面的view,然后等待定时器3s,会发现弹窗出来了,我们的打断方法回调就被执行了。

目录
相关文章
|
1月前
|
存储 JSON 小程序
微信小程序入门之新建并认识小程序结构
微信小程序入门之新建并认识小程序结构
50 1
ly~
|
2月前
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
79 6
|
1月前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
568 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
2月前
|
小程序 JavaScript
微信小程序学习之数据绑定,事件绑定,事件传参与数据同步的学习记录
本文介绍了微信小程序中的数据绑定、事件绑定、事件传参与数据同步的基本概念和使用方法,包括如何在data对象中定义数据、使用mustache语法在wxml中渲染数据、绑定和处理事件、事件对象属性、事件传参以及实现输入框与data数据的同步。
微信小程序学习之数据绑定,事件绑定,事件传参与数据同步的学习记录
|
1月前
|
小程序 前端开发 数据可视化
微信商城小程序WeiMall
微信商城小程序WeiMall
33 0
|
2月前
|
小程序 前端开发 API
微信小程序 - 调用微信 API 回调函数内拿不到 this 问题(解决方案)
本文讨论了在微信小程序中调用API回调函数时无法获取到`this`上下文的问题,并提供了解决方案。在回调函数中,使用一个变量(如`that`)来保存当前的`this`引用,然后在回调内部使用这个变量来访问当前页面的数据和方法。
|
3月前
|
移动开发 小程序 前端开发
|
3月前
|
小程序 前端开发
微信小程序商城,微信小程序微店 【毕业设计参考项目】
文章推荐了一个微信小程序商城项目作为毕业设计参考,该项目在Github上获得18.2k星,提供了详细的使用教程和前端页面实现,适合学习微信小程序开发和作为毕业设计项目。
微信小程序商城,微信小程序微店 【毕业设计参考项目】
|
1月前
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
220 3
|
1月前
|
小程序 API
微信小程序更新提醒uniapp
在小程序开发中,版本更新至关重要。本方案利用 `uni-app` 的 `uni.getUpdateManager()` API 在启动时检测版本更新,提示用户并提供立即更新选项,自动下载更新内容,并在更新完成后重启小程序以应用新版本。适用于微信小程序,确保用户始终使用最新版本。以下是实现步骤: ### 实现步骤 1. **创建更新方法**:在 `App.vue` 中创建 `updateApp` 方法用于检查小程序是否有新版本。 2. **测试**:添加编译模式并选择成功状态进行模拟测试。
49 0
微信小程序更新提醒uniapp