微信小程序bindtap与catchtap的区别

1、什么是事件

  (1) 事件是视图层到逻辑层的通讯方式。

  (2) 事件可以将用户的行为反馈到逻辑层进行处理。

  (3) 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。

  (4) 事件对象可以携带额外信息,如 id,dataset,touches

2、如何使用事件

  (1) 简单来说就是将事件绑定到组件上面,bindtap和catchtap都属于点击事件,绑定了之后点击组件可以触发这个函数。

  (2) 函数tapName会接受一个参数event,event里面存储了一些函数调用的上下文信息

  (3) 标签元素

1

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

  (4) 绑定事件

1

2

3

4

5

Page({

    tapName: function(event) {

        console.log(event)

    }

})

3、bindtap和catchtap的区别

  (1) 相同点:首先他们都是作为点击事件函数,就是点击时触发。在这个作用上他们是一样的,可以不做区分。

  (2) 不同点:他们的不同点主要是bindtap是冒泡的,catchtap是非冒泡的。

4、小程序中事件分为冒泡事件和非冒泡事件。

  (1) 本文以冒泡事件tap(手指触摸后马上离开,也就是点击事件)为例子来区别bind和catch事件

  (2) bindtap? 事件绑定不会阻止冒泡事件向上冒泡

  (3) catchtap? 事件绑定可以阻止冒泡事件向上冒泡

5、例子

1、假如有三个view点击事件都是用的bindtap,三个view是层级包含关系?

1

2

3

4

5

6

7

8

9

<view id="outer" bindtap="out">

    outer view

    <view id="middle" bindtap="middle">

        middle view

        <view id="inner" bindtap="inner">

            inner view

        </view>

    </view>

</view>

2、我么在js里代码是在相对应的事件打印出log,代码如下?

1

2

3

4

5

6

7

out:function(e){

    console.log("--out bindtap click")

}, middle: function (e) {

    console.log("--middle bindtap click")

}, inner: function (e) {

    console.log("--inner bindtap click")

}

3、bindtap执行结果

  点击out view打印出一条log --> out bindtap click

  点击middle view打印出两条log --> middle bindtap click--out bindtap click

  点击innew view打印出三条log --> inner bindtap click--middle bindtap click--out bindtap click

  可以看出bindtap不阻止向上冒泡,所以点击inner一直冒泡到了最外层。

4、如果我们只修改middle view的bindtap为catchtap

  点击out view打印出一条log --> out bindtap click(因为没有上层元素故而无法向上冒泡)

  点击middle view打印出一条log --> middle bindtap click(catchtap阻止向上冒泡)

  点击innew view打印出两条log --> inner bindtap click--middle bindtap click(catchtap阻止向上冒泡)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/32893.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国内镜像版4.0上线啦

chatGPT国内中文镜像官方原版在线免费体验A conversational AI system that listens, learns, and challengeshttps://chatx.taiyangyukeji.com

基于ChatGPT API的PC端软件开发过程遇到的问题的分析

如果喜欢本文章&#xff0c;记得收藏哦&#xff01; 关注我&#xff0c;一起学Java。 一、基于ChatGPT API的PC端软件开发过程遇到的问题的分析 最近这个OpenAI公司推出的GPT-4.0模型真是太火了。当然由于OpenAI目前还没有正式全面对外开放GPT-4.0 API&#xff0c;所以本次使用…

网站链接被微信屏蔽拦截了怎么办?VJump帮你解除屏蔽

出现这种情的原因呢&#xff0c;我相信大家也去了解了很多&#xff0c;但是对于商家来说&#xff0c;我们要避免出现这种情况&#xff0c;或出现了要立马解决。了解原因再去想解决办法是技术的事情。一天没解决&#xff0c;就多一天的损失。原因大同小异&#xff0c;无非是域名…

聊天消息敏感词屏蔽系统(字符串替换 str.replace(str1, *) )

Python 官网&#xff1a;https://www.python.org/ 这里&#xff0c;才 python 前沿。可惜是英文原版。所以&#xff0c;我要练习英文阅读。&#x1f9d0;&#x1f9d0; 我的CSDN主页My Python 学习个人备忘录我的HOT博老齐教室 自学并不是什么神秘的东西&#xff0c;一个人一辈…

域名被微信/QQ红了(被封锁、被屏蔽、被和谐)后最好的解决方法

关于域名总被微信封杀、屏蔽、拦截&#xff0c;等问题。简单说下自己的经验。有不少用户私信我。累死了&#xff0c;统一说下&#xff1a; 域名被微信封杀&#xff0c;显示的是链接无法访问&#xff1b; 域名被微信拦截&#xff0c;是跟淘宝一样 - 如需浏览&#xff0c;请长按…

Adguard Home导致bilibili图片视频被屏蔽记录

Adguard Home导致bilibili图片视频被屏蔽记录 一、问题 使用openwrt中的Adguard&#xff0c;出现了打开bilibili后&#xff0c;里面的视频图片无法显示&#xff0c;点进去的视频也无法观看的问题。 二、尝试解决 跳过Adguard&#xff0c;即设置DNS不通过Adguard。没效果。关闭…

四种方法检测网站是否被微信、QQ等拦截屏蔽

如今公司的线上网站、App业务都离不开微信、QQ这样的社交软件来推广&#xff0c;有时候分享链接一旦点击的人多了&#xff0c;就被微信、QQ拦截或标红了&#xff0c;非常影响业务的发展和用户体验。那如何监控线上业务的持续性呢&#xff1f;今天我们就介绍几种方法来知道域名有…

保存图片到本地和分享多张图片到QQ、微信、WhatsApp、Facebook等平台

保存图片到本地和分享多张图片到QQ、微信、WhatsApp、Facebook等平台 一、分享图片到各个平台多种方式&#xff1a;如第三方的sdk&#xff1a;ShardSDK,直接通过分享到的平台的包名来分享图片的原生方法 1.通过ShareSDK分享图片&#xff0c;不要忘记导入相应的应用包和初始化…

这样写代码,同事乐开花

往期热门文章&#xff1a; 1、Java接口开发&#xff0c;不用写Controller、Service、Dao、Mapper、XML、VO&#xff0c;自动生成&#xff01; 2、为什么说程序员是一个极度劳累的工作&#xff1f; 3、Spring6的新特性&#xff0c;正式“抛弃”feign了 4、微软美国全职员工福利&…

【资源分享】经典老歌、KTV必点歌曲分享

不知道各位小伙伴有没有遇到过这种情况。长辈叫你帮他下载一些老歌放U盘里面&#xff0c;于是打开搜索引擎正准备大展手脚时&#xff0c;却发现是一个又一个的付费购买。 本人也是在这上面与搜索引擎做了不少斗争&#xff0c;以下包含了KTV必点歌曲五百多首&#xff0c;经典粤…

基于GPT3.5模型搭建的聊天系统BAIChat

1. 使用chatgpt前提条件 需要特殊的网络环境。如果是小白&#xff0c;不会搭建网络环境&#xff0c;可以关注我私信我&#xff0c;在线帮你搭建网络环境。 2.BAIChat链接 https://chatbot.theb.ai/#/chat/1686535596065 GPT3 研究背景 最近的研究表明&#xff0c;在 pretrai…

【编程必备】保姆级教学:简单教你使用 Python 调用 ChatGPT-3.5-API

前天 OpenAI 开放了两个新模型的api接口&#xff0c;专门为聊天而生的 gpt-3.5-turbo 和 gpt-3.5-turbo-0301。 ChatGPT is powered by gpt-3.5-turbo, OpenAI’s most advanced language model. 从上面这句话&#xff0c;我们可以知道现在 chat.openai.com 官网就是由 gpt-3.5…

GPT时代,超强大脑才是你的第一财富。

ChatGPT 爆火后&#xff0c;无数人把这个无所不能的对话机器人当做生活、工作助理&#xff0c;用其代替搜索引擎、生成流畅的翻译、甚至撰写文章、剪辑视频、分析数据&#xff0c;享受着“不劳而获”的便利和高效体验。 自然而然地&#xff0c;一些老生常谈的话题&#xff0c;比…

新书上市 | 从大脑认知开始,全方面提高编程能力,助你摆脱“GPT焦虑症”

目录 一、ChatGPT火爆全网二、《程序员超强大脑》三、本书内容四、本书特色五、作译者简介1、费莉安赫尔曼斯&#xff08;Felienne Hermans&#xff09;2、蒋楠 大家好&#xff0c;我是哪吒。 &#x1f3c6;本文收录于&#xff0c;49天精通Java从入门到就业。 全网最细Java零…

别贩卖焦虑了,人工智能永远无法取代你

每一次生产力的变革&#xff0c;在带来技术进步与更高效率的同时&#xff0c;也都无可避免的会带来一波失业浪潮&#xff0c;当下的人工智能浪潮自然也不例外。现在&#xff0c;第一批因为AI失业的人已经出现了…… 因为AI失业的第一批人&#xff0c;已经开始在游戏行业出现了 …

基于线上考研资讯数据抓取的推荐系统的设计与实现(论文+源码)_kaic

摘 要 随着互联网的飞速发展&#xff0c;互联网在各行各业的应用迅速成为众多学校关注的焦点。他们利用互联网提供电子商务服务&#xff0c;然后有了“考研信息平台”&#xff0c;这将使学生考研的信息平台更加方便和简单。 对于考研信息平台的设计&#xff0c;大多采用java技…

【.NET AI Books】问题分类和技能使用大全

第一章 问题分类 我会把问题设定放在首位&#xff0c;也就是我们的第一章。毕竟所有生成式的 AI 都是需要基于问题给出答案。所以我一直不认同人工智能会取代人类&#xff0c;没有人类哪来问题呢&#xff1f; ChatGPT 的神奇之处在于它可以根据你的问题去完成不同的工作&…

周期函数傅里叶级数的各次谐波系数确定

周期函数傅里叶级数的各次谐波系数确定 在不考虑直流分量的情况下对于周期函数的系数进行计算确定。 简单阐述原理过程。 实例场景&#xff1a; 假定被采样信号的模拟信号时一个周期性时间函数&#xff0c;除基波外还含有不衰减的直流分量和各次函数。 基本形式 周期函数的…

奈奎斯特稳定性判据的步骤(含详细推导)

奈奎斯特稳定性判据的步骤&#xff1a; 一、作出半闭合曲线1.作出开环系统的奈奎斯特曲线2.补圆 二、计算R的大小三、判断Z是否为0 提示&#xff1a;本文只含有奈奎斯特判据的步骤&#xff0c;适合期末防挂科的同学&#xff0c;若想要透彻地了解奈奎斯特判据的原理&#xff0c;…

《重学 Java 设计模式》PDF 出炉了 - 小傅哥,肝了50天写出18万字271页的实战编程资料

作者&#xff1a;小傅哥 博客&#xff1a;https://bugstack.cn 沉淀、分享、成长&#xff0c;让自己和他人都能有所收获&#xff01;&#x1f604; 文章目录 一、前言二、简介1. 谁发明了设计模式&#xff1f;2. 我怎么学不会设计模式&#xff1f;3. 适合人群4. 我能学到什么5.…