iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >微信小程序怎么解绑事件
  • 886
分享到

微信小程序怎么解绑事件

2023-06-26 08:06:38 886人浏览 独家记忆
摘要

这篇“微信小程序怎么解绑事件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序怎么解绑事件”文章吧。什么是事件事件是视

这篇“微信小程序怎么解绑事件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序怎么解绑事件”文章吧。

什么是事件


  • 事件是视图层到逻辑层的通讯方式。

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

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

  • 事件对象可以携带额外信息,如id, dataset, touches。

事件的使用方式


  • 在组件中绑定一个事件处理函数。

bindtap,当用户点击该组件的时候会在该页面对应的Page中找到相应的事件处理函数。

<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>
  • 在相应的Page定义中写上相应的事件处理函数,参数是event。

Page({  tapName: function(event) {console.log(event)  }})
  • 可以看到log出来的信息大致如下

    {"type": "tap","timeStamp":895,"target": {  "id": "tapTest",  "dataset": {   "hi": "WeChat"  }},"currentTarget": {  "id": "tapTest",  "dataset": {"hi": "WeChat"  }},"detail": {  "x":53,  "y":14},"touches": [{  "identifier":0,  "pageX":53,  "pageY":14,  "clientX":53,  "clientY":14,}],"changedTouches": [{  "identifier":0,  "pageX":53,  "pageY":14,  "clientX":53,  "clientY":14,}],}

事件详解

事件分类

事件分为冒泡事件和非冒泡事件

  1. 冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。

  2. 非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。

WXML的冒泡事件列表:

类型触发条件
touchstart手指触摸动作开始
touchmove手指触摸后移动
touchcancel手指触摸动作被打断,如来电提醒,弹窗
touchend手指触摸动作结束
tap手指触摸后马上离开
longtap手指触摸后,超过350ms再离开

注:除上表之外的其他组件自定义事件都是非冒泡事件,如<fORM/>submit事件,<input/>input事件,<scroll-view/>scroll事件,(详见各个组件)

事件绑定


事件绑定的写法同组件的属性,以key、value的形式。

  • key以bindcatch开头,然后跟上事件的类型,如bindtap, catchtouchstart

  • value是一个字符串,需要在对应的Page中定义同名的函数。不然当触发事件的时候会报错。

bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡。

如在下边这个例子中,点击inner view会先后触发handleTap3handleTap2(因为tap事件会冒泡到middle view,而middle view阻止了tap事件冒泡,不再向父节点传递),点击middle view会触发handleTap2,点击outter view会触发handleTap1

<view id="outter" bindtap="handleTap1">  outer view  <view id="middle" catchtap="handleTap2">middle view<view id="inner" bindtap="handleTap3">  inner view</view>  </view></view>

事件对象


如无特殊说明,当组件触发事件时,逻辑层绑定该事件的处理函数会收到一个事件对象。

BaseEvent基础事件对象属性列表:

属性类型说明
typeString事件类型
timeStampInteger事件生成时的时间戳
targetObject触发事件的组件的一些属性值集合
currentTargetObject当前组件的一些属性值集合

CustomEvent 自定义事件对象属性列表(继承 BaseEvent):

属性类型说明
detailObject额外的信息

TouchEvent 触摸事件对象属性列表(继承 BaseEvent):

属性类型说明
touchesArray触摸事件,当前停留在屏幕中的触摸点信息的数组
changedTouchesArray触摸事件,当前变化的触摸点信息的数组

特殊事件:<canvas/>中的触摸事件不可冒泡,所以没有 currentTarget。

type

通用事件类型

timeStamp

该页面打开到触发事件所经过的毫秒数。

target

触发事件的源组件。

属性类型说明
idString事件源组件的id
tagNameString当前组件的类型
datasetObject事件源组件上由data-开头的自定义属性组成的集合

currentTarget

事件绑定的当前组件。

属性类型说明
idString当前组件的id
tagNameString当前组件的类型
datasetObject当前组件上由data-开头的自定义属性组成的集合

说明: target 和 currentTarget 可以参考上例中,点击 inner view 时,handleTap3 收到的事件对象 target 和 currentTarget 都是 inner,而 handleTap2 收到的事件对象 target 就是 inner,currentTarget 就是 middle。

 

dataset

在组件中可以定义数据,这些数据将会通过事件传递给 SERVICE。书写方式:以data-开头,多个单词由连字符-链接,不能有大写(大写会自动转成小写)如data-element-type,最终在 event.target.dataset 中会将连字符转成驼峰elementType

示例:

<view data-alpha-beta="1" data-alphaBeta="2" bindtap="bindViewTap"> DataSet Test </view>
Page({  bindViewTap:function(event){    event.target.dataset.alphaBeta === 1 // - 会转为驼峰写法event.target.dataset.alphabeta === 2 // 大写会转为小写  }})

touches

touches 是一个数组,每个元素为一个 Touch 对象(canvas 触摸事件中携带的 touches 是 CanvasTouch 数组)。 表示当前停留在屏幕上的触摸点。

Touch 对象
属性类型说明
identifierNumber触摸点的标识符
pageX, pageYNumber距离文档左上角的距离,文档的左上角为原点 ,横向为X轴,纵向为Y轴
clientX, clientYNumber距离页面可显示区域(屏幕除去导航条)左上角距离,横向为X轴,纵向为Y轴
CanvasTouch 对象
属性类型说明特殊说明
identifierNumber触摸点的标识符 
x, yNumber距离 Canvas 左上角的距离,Canvas 的左上角为原点 ,横向为X轴,纵向为Y轴 

changedTouches

changedTouches 数据格式同 touches。表示有变化的触摸点,如从无变有(touchstart),位置变化(touchmove),从有变无(touchend、touchcancel)。

detail

自定义事件所携带的数据,如表单组件的提交事件会携带用户的输入,媒体的错误事件会携带错误信息,详见组件定义中各个事件的定义。

点击事件的detail 带有的 x, y 同 pageX, pageY 代表距离文档左上角的距离。

以上就是关于“微信小程序怎么解绑事件”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: 微信小程序怎么解绑事件

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

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

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

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

下载Word文档
猜你喜欢
  • 微信小程序怎么解绑事件
    这篇“微信小程序怎么解绑事件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序怎么解绑事件”文章吧。什么是事件事件是视...
    99+
    2023-06-26
  • 微信小程序 | 小程序的事件处理
    🖥️ 微信小程序 专栏:小程序的事件处理 🧑‍💼 个人简介:一个不甘平庸的平凡人🍬 ✨ 个人主页:CoderHing的个人主页 🍀 格言: ☀️ 路漫漫...
    99+
    2023-09-02
    小程序 微信小程序 前端 前端框架 node.js
  • 微信小程序如何使用template添加绑定事件
    小编给大家分享一下微信小程序如何使用template添加绑定事件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!对于模板的使用,我是想将模板的事件单独出来,其他引用模板的页面中不再掺杂模板事...
    99+
    2022-10-19
  • 【微信小程序入门到精通】— 事件绑定的详细解读
    目录 前言一、事件绑定导论二、常用事件三、事件对象属性列表3.1 target 和 currentTarget 的区别3.2 bindtap 的用法 总结 前言 对于目前形式,微信小程序是一个热门,那么我们该如何去学习...
    99+
    2023-08-17
    微信小程序 小程序 javascript
  • 如何解绑微信小程序账号
    解绑微信小程序账号的方法:1.登录微信公众号平台;2.点击菜单栏第三方设置;3.选择账号停止授权;具体步骤如下:首先,在浏览器中登录微信公众号平台;登录到微信公众号平台后,在左侧菜单栏中点击“第三方设置”选项;在弹出的第三方设置页面中选择需...
    99+
    2022-10-22
  • 微信小程序API设备怎么绑定
    这篇文章主要介绍了微信小程序API设备怎么绑定的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序API设备怎么绑定文章都会有所收获,下面我们一起来看看吧。微信小程序API设备概览系统信息&mdas...
    99+
    2023-06-26
  • 微信小程序如何获取绑定事件元素的ID
    这篇文章将为大家详细讲解有关微信小程序如何获取绑定事件元素的ID ,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。小程序list数据带值跳转,一般直接通过设置item的id来标识或者通过设置键值data-x...
    99+
    2023-06-26
  • 微信小程序有哪些事件
    微信小程序中常见的事件有:1.touchstart,手指触摸时触发;2.touchmove,手指移动时触发;3.touchend,手指结束触摸时触发;4.touchcancel,手指触摸被打断时触发;5.tap,手指触摸后又马上离开时触发;...
    99+
    2022-10-19
  • 微信小程序的点击事件怎么实现
    这篇文章主要讲解了“微信小程序的点击事件怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序的点击事件怎么实现”吧!如果需要实现进来进行给按钮加上买一送一的样式,或者单击就选中单...
    99+
    2023-06-26
  • 微信小程序事件绑定传参冒泡及捕获的示例详解
    目录常见的事件有:currentTarget和target的区别事件传递参数touches和changedTouches的区别事件的绑定两种方法事件传参事件的冒泡与事件的捕获小结常见...
    99+
    2022-11-13
  • 微信小程序事件处理和数据绑定的方法是什么
    这篇文章主要介绍“微信小程序事件处理和数据绑定的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序事件处理和数据绑定的方法是什么”文章能帮助大家解决问题。WXML(WeiXin Ma...
    99+
    2023-06-19
  • 微信小程序事件绑定传参冒泡及捕获的方法
    这篇文章主要介绍“微信小程序事件绑定传参冒泡及捕获的方法”,在日常操作中,相信很多人在微信小程序事件绑定传参冒泡及捕获的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序事件绑定传参冒泡及捕获的方法...
    99+
    2023-06-30
  • 微信小程序左右滑动删除事件详解
    本文实例为大家分享了微信小程序左右滑动删除事件,供大家参考,具体内容如下 效果图 上代码 <scroll-view scroll-y enable-back-to-top...
    99+
    2022-11-13
  • 微信小程序中怎么响应用户输入事件
    这期内容当中小编将会给大家带来有关微信小程序中怎么响应用户输入事件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。微信小程序中如何响应用户输入事件让我们进一步学习微信小程序控制器,掌握在小程序控制器中响应用...
    99+
    2023-06-05
  • 微信小程序怎么制作组件
    这篇“微信小程序怎么制作组件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序怎么制作组件”文章吧。  第一种方式,下...
    99+
    2023-06-26
  • 在微信小程序中怎样阻止冒泡事件?
    在微信小程序当中,当两个包含的视图都使用了bindtap函数来绑定点击事件的话,就会发生冒泡事件(即点击内部事件时将同时触发外部事件),如果我们要想阻止冒泡事件的发生,将被包含在内部的bindtap该为catchtap即可,下面请看具...
    99+
    2023-10-11
    微信小程序 小程序 微信 Powered by 金山文档
  • 微信小程序组件事件的示例分析
    这篇文章主要介绍了微信小程序组件事件的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。组件事件事件系统是组件间交互的主要形式。自定义组件可以触发任意的事件,引用组件的页...
    99+
    2023-06-26
  • 微信小程序API接收消息和事件怎么实现
    今天小编给大家分享一下微信小程序API接收消息和事件怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。接收消息和事件在页...
    99+
    2023-06-26
  • 微信小程序解包
    这个也是因为前阵子的某牛活动,自己第一次接触小程序反编译。本文当时写了一半阳了,又处理了点事情,休息好了继续写写 该文章仅供学习交流,请勿用于非法用途,后果自负 一、准备工具 Node.js环境(https://nodejs.or...
    99+
    2023-09-11
    微信小程序 小程序
  • 微信小程序怎么用
    这篇文章给大家分享的是有关微信小程序怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。微信小程序要去哪里找?又该怎么用?秘密全在这里微信小程序正式发布 看完你也会玩小程序!&n...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作