iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >微信小程序bindtap与catchtap的区别详解
  • 336
分享到

微信小程序bindtap与catchtap的区别详解

2024-04-02 19:04:59 336人浏览 八月长安
摘要

目录1、什么是事件2、如何使用事件3、bindtap和catchtap的区别4、小程序中事件分为冒泡事件和非冒泡事件。事件之target&&currentTarget

1、什么是事件

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

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

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

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

2、如何使用事件

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

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

  (3) 标签元素


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

(4) 绑定事件


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

3、bindtap和catchtap的区别

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

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

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

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

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

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

事件之target&&currentTarget区别

还是采用上面的wxml&&wxss代码, 这次我们修改下js代码的打印值;


// js
  outerTapFn(e) {
    console.log("我是外层父元素被点击了=.=",e);
  },
  innerTapFn(e) {
    console.log("我是内层子元素被点击了=.=",e);
  },

 target对应的是触发事件的源头组件,这个组件有可能是子组件,有可能是父组件,主要是看执行动作的区域。而currentTarget始终对应事件所绑定的组件;

5、例子

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


<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,代码如下?


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阻止向上冒泡)

到此这篇关于微信小程序bindtap与catchtap的区别详解的文章就介绍到这了,更多相关小程序bindtap与catchtap内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 微信小程序bindtap与catchtap的区别详解

本文链接: https://www.lsjlt.com/news/135767.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 微信小程序bindtap与catchtap的区别详解
    目录1、什么是事件2、如何使用事件3、bindtap和catchtap的区别4、小程序中事件分为冒泡事件和非冒泡事件。事件之target&&currentTarget...
    99+
    2024-04-02
  • 微信小程序与APP的区别是什么
    今天小编给大家分享一下微信小程序与APP的区别是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。开发语言app在ios上使...
    99+
    2023-06-27
  • 微信小程序与h5有哪些区别
    本篇内容主要讲解“微信小程序与h5有哪些区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序与h5有哪些区别”吧!一、不一样的运行环境从上文得知H5仅能借助浏览器实现启动,但小程序虽然包...
    99+
    2023-06-27
  • 微信小程序和微商小程序有什么区别
    这篇文章主要为大家展示了“微信小程序和微商小程序有什么区别”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信小程序和微商小程序有什么区别”这篇文章吧。区别:1、入口不同,微商小程序需要从公众号底...
    99+
    2023-06-29
  • 如何解决微信小程序中视图控件与bindtap之间的问题
    这篇文章将为大家详细讲解有关如何解决微信小程序中视图控件与bindtap之间的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在微信小程序中 最常用的<view&...
    99+
    2024-04-02
  • 支付宝小程序与微信小程序开发的区别有哪些
    这篇文章主要介绍支付宝小程序与微信小程序开发的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!浅谈支付宝小程序与微信小程序开发的区别一、app.json(1)设置小程序通用的的状态栏、导航条、标题、窗口背景色...
    99+
    2023-06-14
  • 微信小程序点击事件(bindtap)传递参数
    小程序在组件上绑定事件后,传递参数的方式不同于前端开发其他场景中直接加参数的方式,小程序在参数的传递时,采用事件对象的自定义属性的方式,具体实现如下: wxml: ...
    99+
    2023-09-20
    微信小程序 小程序
  • 微信小程序中事件bindtap bindinput的示例分析
    小编给大家分享一下微信小程序中事件bindtap bindinput的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、...
    99+
    2024-04-02
  • 微信小程序定制与模板的区别是什么
    本篇内容主要讲解“微信小程序定制与模板的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序定制与模板的区别是什么”吧!微信小程序,基于微信运行的手机应用。由于是基于微信运行的,而...
    99+
    2023-06-27
  • vue和微信小程序的区别是什么
    这篇文章主要介绍了vue和微信小程序的区别是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue和微信小程序的区别是什么文章都会有所收获,下面我们一起来看看吧。一、生命周期相比之下,小程序的钩子函数要简单得...
    99+
    2023-06-26
  • vue和微信小程序的区别有哪些
    这期内容当中小编将会给大家带来有关vue和微信小程序的区别有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、生命周期先贴两张图:vue生命周期小程序生命周期相比之下...
    99+
    2024-04-02
  • 微信小程序和支付宝小程序的区别有哪些
    这篇文章主要介绍了微信小程序和支付宝小程序的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。微信小程序微信小程序是存在于微信内的一种轻应用形态,为用户提供不需要下载即...
    99+
    2023-06-27
  • 微信小程序和微信公众号有什么区别
    这篇文章主要介绍微信小程序和微信公众号有什么区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!区别:1、小程序只能使用微信官方提供的工具进行开发,而微信公众号可以使用任何开发工具进行开发;2、微信公众号服务于消息推送...
    99+
    2023-06-29
  • vue和微信小程序有什么区别
    小编给大家分享一下vue和微信小程序有什么区别,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 区别:1、vue中使用“v-if”和“v-show”控制元素的显示...
    99+
    2024-04-02
  • 微信小程序与公众号开发有哪些区别
    本篇内容介绍了“微信小程序与公众号开发有哪些区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!小程序与公众号开发的区别:1、小程序面向产品与...
    99+
    2023-06-29
  • 微信小程序和支付宝小程序有哪些区别
    这篇文章主要为大家展示了“微信小程序和支付宝小程序有哪些区别”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信小程序和支付宝小程序有哪些区别”这篇文章吧。1.生态差异 :从微信和支付宝的属性来看...
    99+
    2023-06-27
  • uniapp-微信小程序 分包--详解
    uniapp-微信小程序 分包–详解 实际环境(用business举例,可以创建很多个分包) 先说好,如果代码模块多,就一个一个模块搞(照着做不会错) 直入主题,我代码写完了,一真机运行,g,发现超过...
    99+
    2023-09-03
    微信小程序 uni-app 小程序 前端
  • 小程序的机制(支付宝&微信的区别)
    一、平台的区别 微信小程序:微信小程序是微信平台推出的一种新型应用形式,它在微信客户端中运行,能够达到“一触即达”的效果,不需要下载和安装。 支付宝小程序:支付宝小程序是在支付宝平台上的一种类似应用,它与微信小程序在设计...
    99+
    2023-10-29
    支付宝 区别 机制
  • 微信小程序和公众号的区别是什么
    本文小编为大家详细介绍“微信小程序和公众号的区别是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序和公众号的区别是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。不同的使用方式我们首先联系了官方帐...
    99+
    2023-06-27
  • 微信小程序显示loading效果,微信小程序节流效果,微信小程序生命周期,微信小程序组件的创建与使用
    一、显示loading效果         文档地址:wx.showLoading(Object object) | 微信开放文档         请求前 显示loading 效果,请求结束后隐藏loading // 在请求模块中wx.sh...
    99+
    2023-09-14
    微信小程序 小程序 微信
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作