首页 > 编程语言 >微信小程序-小程序事件冒泡和事件捕获

微信小程序-小程序事件冒泡和事件捕获

时间:2023-04-22 13:12:24浏览次数:33  
标签:function index console log 微信 捕获 程序 冒泡


!> 小程序当中的时间捕获与时间冒泡与原生JS的是一样的

这里我就来直接上代码来演示一下在微信小程序当中的时间冒泡与捕获,关于时间的捕获与冒泡可以参考我JS文章里面的介绍即可。

事件捕获

index.wxml:

<view class="one" capture-bind:tap="onOneClick">
    <view class="two" capture-bind:tap="onTwoClick">
        <view class="three" capture-bind:tap="onThreeClick">
        </view>
    </view>
</view>

index.js:

onOneClick: function() {
  console.log('捕获:onOneClick');
},
onTwoClick: function() {
  console.log('捕获:onTwoClick');
},
onThreeClick: function() {
  console.log('捕获:onThreeClick');
},

事件冒泡

index.wxml:

<view class="one" bind:tap="onOneClick1">
    <view class="two" bind:tap="onTwoClick1">
        <view class="three" bind:tap="onThreeClick1">
        </view>
    </view>
</view>

index.js:

onOneClick1: function() {
  console.log('冒泡:onOneClick1');
},
onTwoClick1: function() {
  console.log('冒泡:onTwoClick1');
},
onThreeClick1: function() {
  console.log('冒泡:onThreeClick1');
},

事件捕获与冒泡

index.wxml:

<view class="one" capture-bind:tap="onOneClick" bind:tap="onOneClick1">
    <view class="two" capture-bind:tap="onTwoClick" bind:tap="onTwoClick1">
        <view class="three" capture-bind:tap="onThreeClick" bind:tap="onThreeClick1">
        </view>
    </view>
</view>

阻止事件冒泡与捕获

  • catch:阻止冒泡事件
  • capture-catch:阻止捕获事件

catch:

index.wxml:

<view class="one" bind:tap="onOneClick1">
    <view class="two" catch:tap="onTwoClick1">
        <view class="three" bind:tap="onThreeClick1">
        </view>
    </view>
</view>

微信小程序-小程序事件冒泡和事件捕获_微信小程序

可以看到从,three 开始 到 two 就已经结束了,说明在 two 这一层就阻止在继续往上传递了所以one就触发不了。

capture-catch:

index.wxml:

<view class="one" capture-bind:tap="onOneClick">
    <view class="two" capture-catch:tap="onTwoClick">
        <view class="three" capture-bind:tap="onThreeClick">
        </view>
    </view>
</view>

微信小程序-小程序事件冒泡和事件捕获_事件冒泡_02

可以看到从,one 开始 到 two 就已经结束了,说明在 two 这一层就阻止在继续往下传递了所以three就触发不了。



标签:function,index,console,log,微信,捕获,程序,冒泡
From: https://blog.51cto.com/u_15652665/6215222

相关文章

  • 微信小程序-小程序事件绑定
    什么是事件事件是视图层到逻辑层的通讯方式。事件可以将用户的行为反馈到逻辑层进行处理。事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。事件对象可以携带额外信息,如id,dataset,touches。常见事件tap:手指触摸后马上离开longpress:手指触摸后,超过350ms......
  • 微信小程序-事件传递数据
    事件对象小程序在触发事件监听方法的时候会自动传递一个事件对象给我们,通过这个事件对象我们可以拿到页面传递过来的一些数据。事件对象的作用拿到触发事件的元素: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......
  • 冒泡排序
    1,问题描述:对N个整数(数据由键盘输入)进行升序排列。2.问题分析:对于N个数因其类型相同,我们可利用数组进行存储。冒泡排序是在两个相邻元素之间进行比较交换的过程将一个无序表变成有序表。冒泡排序的思想:首先,从表头开始往后扫描数组,在扫描过程中逐对比较相邻两个元素的大小。若相......
  • 程序员面试金典---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......