首页 > 编程语言 >微信小程序-小程序事件绑定

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

时间:2023-04-22 13:11:39浏览次数:40  
标签:function console log 触摸 微信 绑定 程序 call 事件

什么是事件

  • 事件是视图层到逻辑层的通讯方式。
  • 事件可以将用户的行为反馈到逻辑层进行处理。
  • 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。
  • 事件对象可以携带额外信息,如 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,会发现弹窗出来了,我们的打断方法回调就被执行了。



标签:function,console,log,触摸,微信,绑定,程序,call,事件
From: https://blog.51cto.com/u_15652665/6215224

相关文章

  • 微信小程序-事件传递数据
    事件对象小程序在触发事件监听方法的时候会自动传递一个事件对象给我们,通过这个事件对象我们可以拿到页面传递过来的一些数据。事件对象的作用拿到触发事件的元素:currentTarget拿到触发事件的位置:detail拿到从页面传递过来的数据:dataset/mark页面传递数据的方法datasetmark通......
  • stata 程序写法 静态运行写法
    programmysum,rclasssyntaxvarnamereturnlocalvarname`varlist'tempvarnewquietly{countif!missing(`varlist')returnscalar......
  • 用 python 上传文件到微信小程序云存储
    前言小程序上了云托管后不打算继续使用其他图床,而是使用云托管自带的图床。而由于时间紧迫只能在本地使用云托管提供的服务器调用对象存储api云托管上传文件的文档在这里上传文件文档如果你上传带有中文名的文件,或者上传的路径有中文名时,需要修改一下requests库的源码,否......
  • 微信小程序:uni-app页面Page和组件Component生命周期执行的先后顺序
    目录H5微信小程序测试代码文档页面生命周期https://uniapp.dcloud.net.cn/tutorial/page.html#lifecycle组件生命周期https://uniapp.dcloud.net.cn/tutorial/page.html#componentlifecycle经测试,得出结论:H5和微信小程序的生命周期函数调用顺序不一致H5pagebeforeCreatepag......
  • #yyds干货盘点# LeetCode程序员面试金典:最长有效括号
    题目:给你一个只包含'(' 和')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。 示例1:输入:s="(()"输出:2解释:最长有效括号子串是"()"示例2:输入:s=")()())"输出:4解释:最长有效括号子串是"()()"示例3:输入:s=""输出:0代码实现:classSolution{publicint......
  • 程序员面试金典---12
    递归乘法直接上代码:/***@param{number}A*@param{number}B*@return{number}*/varmultiply=function(A,B){if(A===0||B===0)return0arr=[0]for(leti=1;i<=B;i++){arr[i]=arr[i-1]+A}returnarr[B......
  • 程序员修炼之道阅读笔记
    第19节文本操纵1、学习一种文本操纵语言。文本操作语言对于编程的意义,就像是刳刨机对于木工活的意义。2、文本操作的案例。我们的测试数据有好几万条,散落在不同文件,如果需要进行合并并转换为特定格式,手动处理是无法想象的。但如果使用Perl几个小时就可以完成。数据库sche......
  • 青岛市程序设计竞赛冲刺①
    2021年青岛市小学组第三题原题: 解题代码:#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>usingnamespacestd;constintN=5e2+5,dx[4]={0,0,-1,1},dy[4]={1,-1,0,0};intn,m,vis[N][N],ans=0;charc......
  • Cobra 快速入门 - 专为命令行程序而生
    最近一直在看 Istio(一个 ServiceMesh 框架)相关的东西,当看到其源码时发现了一个新东西 Cobra,一查却发现这是个好东西,用的地方可不少,比如:Docker、Kubernetes 等都有它的身影存在。为了更好的了解这些开源框架(如,Istio、Kubernetes 等),势必需要对 Cobra 做一个详细的了解,后续可......
  • 程序与指令
     由于.o文件还未进行链接,所以其地址是不确定的,所以代码从地址0开始 可执行文件其代码的开始地址是虚拟地址 《IA-32的ISA》所以可知道IA-32是一个32位的指令系统《IA-32体系结构》   在这里我们要知道AI-32其有8个8位寄存器,8个16位寄存器,8个......