当前位置: 首页 > article >正文

微信小程序事件绑定基本语法

微信小程序使用 bind 或 catch 前缀绑定事件,语法如下:

<组件 bind事件名="处理函数" catch事件名="处理函数"></组件>
  • bind:事件绑定,允许事件冒泡(向父组件传递)。

  • catch:事件绑定,阻止事件冒泡(不会向父组件传递)。

常见事件类型

事件名说明适用组件
tap点击事件viewbutton
input输入框内容变化inputtextarea
submit表单提交form
scroll滚动事件scroll-view
longpress长按事件(350ms)viewbutton

二、事件绑定示例

1. 点击事件(bindtap / catchtap

<!-- 点击事件(允许冒泡) -->
<view bindtap="handleTap">点击我</view><!-- 阻止冒泡 -->
<view catchtap="handleNoBubbleTap">点击我(不冒泡)</view>
Page({handleTap() {console.log("点击事件触发");},handleNoBubbleTap() {console.log("点击事件触发,但不会冒泡");}
});

2. 输入事件(bindinput

<input bindinput="handleInput" placeholder="输入内容" />
Page({handleInput(e) {console.log("输入内容:", e.detail.value);}
});

3. 表单提交(bindsubmit

<form bindsubmit="handleSubmit"><input name="username" placeholder="用户名" /><button form-type="submit">提交</button>
</form>
Page({handleSubmit(e) {console.log("表单数据:", e.detail.value);}
});

三、事件对象(event

事件处理函数的参数 event 包含以下关键属性:

属性说明
type事件类型(如 tapinput
target触发事件的组件(原始事件源)
currentTarget当前绑定事件的组件
detail额外信息(如输入框的值)
timeStamp事件触发时间戳
touches触摸点信息(多指触控)

获取 data-* 自定义数据

<view data-id="123" bindtap="handleDataTap">点击获取 data-id</view>
Page({handleDataTap(e) {const id = e.currentTarget.dataset.id; // 123console.log("data-id:", id);}
});

四、阻止事件冒泡(catch vs bind

  • bind:允许事件向上冒泡(父组件也会触发相同事件)。

  • catch:阻止事件冒泡(仅当前组件触发)。

示例

<view bindtap="parentTap"><view catchtap="childTap">点击我(不会触发父组件的 tap)</view>
</view>
Page({parentTap() {console.log("父组件点击"); // 不会执行(因为子组件用了 catchtap)},childTap() {console.log("子组件点击");}
});

五、自定义组件事件(triggerEvent

如果使用自定义组件,可以通过 triggerEvent 触发父组件的事件:

子组件

Component({methods: {handleTap() {this.triggerEvent("customevent", { data: "Hello" });}}
});

父组件

<child bindcustomevent="handleCustomEvent" />
Page({handleCustomEvent(e) {console.log("自定义事件数据:", e.detail.data); // "Hello"}
});

六、总结

场景推荐写法
普通点击事件bindtap="handleTap"
阻止冒泡catchtap="handleTap"
表单输入bindinput="handleInput"
表单提交bindsubmit="handleSubmit"
自定义组件通信triggerEvent + bind事件名

相关文章:

微信小程序事件绑定基本语法

微信小程序使用 bind 或 catch 前缀绑定事件&#xff0c;语法如下&#xff1a; <组件 bind事件名"处理函数" catch事件名"处理函数"></组件> bind&#xff1a;事件绑定&#xff0c;允许事件冒泡&#xff08;向父组件传递&#xff09;。 catc…...

页面编辑器CodeMirror初始化不显示行号或文本内容

延迟刷新 本来想延迟100毫秒的&#xff0c;但是会出现样式向左偏移的情况&#xff0c;于是试了试500毫秒&#xff0c;发现就没有问题了&#xff0c;可能是样式什么是需要一个加载过程吧。 useEffect(() > {editorRef.current?.setValue(value || );setTimeout(() > {edi…...

vscode 连不上 Ubuntu 18 server 的解决方案

下载 vscode 历史版本 18.5&#xff08;windows请装在 系统盘 C 盘&#xff09; 打开 vdcode&#xff0c;将 自动更新 设置为 None &#xff08;很关键&#xff0c;否则容易前功尽弃&#xff09; 重命名&#xff08;删除&#xff09; 服务器上的 .vscode-server 文件夹 重新…...

云原生运维在 2025 年的发展蓝图

随着云计算技术的不断发展和普及&#xff0c;云原生已经成为了现代应用开发和运维的主流趋势。云原生运维是指在云原生环境下&#xff0c;对应用进行部署、监控、管理和优化的过程。在 2025 年&#xff0c;云原生运维将迎来更加广阔的发展前景&#xff0c;同时也将面临着一系列…...

Redis进阶--哨兵

目录 一、引言 二、介绍 三、哨兵的核心功能 四、使用docker进行单个主机redis主从复制哨兵操作 五、哨兵重新选取主节点的流程 1.主观下线 2.客观下线 3.主节点挂了 4.挑选新主节点 六、总结 一、引言 如果主从复制中&#xff0c;主节点挂了&#xff0c;从节点会迷茫…...

Franka 机器人x Dexterity Gen引领遥操作精细任务新时代

教授机器人工具灵活操作难题 在教授机器人灵活使用工具方面&#xff0c;目前主要有两种策略&#xff1a;一是人类遥控&#xff08;用于模仿学习&#xff09;&#xff0c;二是模拟到现实的强化学习。然而&#xff0c;这两种方法均存在明显的局限性。 1、人类遥控&#xff08;用…...

UE5 RPC调用示例详解

文章目录 前言一、示例场景二、代码实现三、关键点解析3.1 RPC类型选择3.2 可靠性设置3.3 权限控制3.4 输入处理 四、测试与验证总结 前言 在UE5中&#xff0c;RPC&#xff08;远程过程调用&#xff09;是实现多人游戏逻辑同步的核心机制。以下通过一个玩家跳跃的示例&#xf…...

专题|MATLAB-R语言Logistic逻辑回归增长模型在互联网金融共生及移动通信客户流失分析实例合集

全文链接&#xff1a;https://tecdat.cn/?p41343 作为数据科学家&#xff0c;我们始终关注如何通过模型创新揭示复杂系统的动态规律。本专题合集聚焦两大核心应用场景&#xff0c;通过 Logistic 增长模型与逻辑回归技术&#xff0c;为互联网金融共生演化与移动通信客户流失预警…...

从零构建一个全栈AI应用:Next.js + FastAPI + OpenAI API

&#x1f4a1; 为什么写这篇文章&#xff1f; 很多开发者希望构建一个能“聊天、问答、调用AI能力”的完整应用&#xff0c;但在前端、后端、模型接口之间打通时&#xff0c;常常踩坑。 今天这篇文章将手把手教你如何从零构建一个 AI 全栈应用&#xff1a; 前端用 Next.js 构…...

idea里面不能运行 node 命令 cmd 里面可以运行咋回事啊

idea里面不能运行 node 命令 cmd 里面可以运行咋回事啊 在 IntelliJ IDEA&#xff08;或其他 JetBrains 系列 IDE&#xff09;中无法运行某些命令&#xff0c;但在系统的命令提示符&#xff08;CMD&#xff09;中可以正常运行&#xff0c;这种情况通常是由于以下原因之一导致的…...

Dify 生成提示词的 Prompt

Dify 生成提示词的 Prompt **第1次提示词****第2次提示词****第3次提示词**总结 Dify 生成提示词是&#xff0c;会和LLM进行3次交互&#xff0c;下面是和LLM进行交互是的Prompt。 以下是每次提示词的概要、目标总结以及原始Prompt&#xff1a; 第1次提示词 概要&#xff1a; …...

ocr python库

ocr python库 上手Git、Gitee和Github&#xff01;watt toolkit...

【学生管理系统升级版】

学生管理系统升级版 需求分析&#xff1a;注册功能:登录功能&#xff1a;验证码规则&#xff1a;忘记密码&#xff1a; 实操&#xff1a;系统主页面注册功能登录功能忘记密码效果演示 需求 为学生管理系统书写一个登陆、注册、忘记密码的功能。     只有用户登录成功之后&…...

HTTP:二.URI及相关术语

HTTP相关技术和术语 WEB开发语言 **http:**Hyper Text Transfer Protocol 应用层协议,默认端口: 80/tcp WEB前端开发语言: htmlcssjavascripthtml Hyper Text Markup Language 超文本标记语言,编程语言,主要负责实现页面的结构 范例:html 语言 <html> <h…...

Web3 的云基础设施正在成型,Polkadot 2.0 用三项技术改写“上链成本”

在Web3基础设施内卷加剧的今天&#xff0c;“如何以更低成本、更大灵活性部署一条高性能应用链”正成为开发者们最关心的问题。而刚刚走出“技术慢热”误区的Polkadot&#xff0c;正在用一套名为 Polkadot 2.0 的架构升级方案&#xff0c;重新定义这一问题的解法。 这套升级最…...

【12】RUST智能指针

文章目录 智能指针Box<T>Rc<T>Weak<T>方法 Arc<T>RefCell<T>方法Ref<T>和RefMut<T> 常见使用方式 智能指针 Box<T> 数据存储在堆上只能有一个所有者 Rc<T> 单线程&#xff0c;引用计数不可变需要主要避免循环引用 …...

机器学习——ROC曲线、PR曲线

一、ROC曲线简介 1.1 ROC曲线的构成 1.横轴&#xff08;假正率&#xff0c;FPR&#xff09;&#xff1a; 表示负样本被错误分类为正的比例&#xff08;越小越好&#xff09; 2.纵轴&#xff08;真正率&#xff0c;TPR&#xff0c;即召回率&#xff09;&#xff1a; 表示正样…...

Unity AssetBundle依赖树可视化分析工具开发指南

一、需求分析与技术选型 1.1 需求背景 在Unity项目开发中&#xff0c;AssetBundle依赖关系管理是性能优化的关键。当项目资源量达到GB级别时&#xff0c;依赖树深度可能超过10层&#xff0c;容易导致&#xff1a; 资源重复打包&#xff08;平均冗余率可达15%-30%&#xff09…...

WebStorm中使用live-server插件

文章目录 1. 前提条件1.1 已安装Node1.1.1 淘宝的镜像1.2 安装live-server1.3 安装WebStorm2. Windows配置hosts3. WebStorm配置live-server3.1 WebStorm创建3.2 启动 live-server1. 前提条件 1.1 已安装Node Windows PowerShell 版权所有(C) Microsoft Corporation。保留所…...

RTP Payload Format for H.264 Vide(1)

摘要&#xff1a;&#xff1a; 本备忘录描述了一种用于 ITU-T H.264 视频编码标准&#xff08;与 ISO/IEC 国际标准 14496-10 技术上相同&#xff09;的 RTP 负载格式&#xff0c;但不包括可伸缩视频编码&#xff08;SVC&#xff09;扩展和多视角视频编码&#xff08;MVC&#…...

我为女儿开发了一个游戏网站

大家好&#xff0c;我是星河。 自从协助妻子为女儿开发了算数射击游戏后&#xff0c;星河就一直有个想法&#xff1a;为女儿打造一个专属的学习游戏网站。之前的射击游戏虽然有趣&#xff0c;但缺乏难度分级&#xff0c;无法根据女儿的学习进度灵活调整。而且&#xff0c;仅仅…...

【Spring Cloud Netflix】GateWay服务网关

1.基本概述 GateWay用于在微服务架构中提供统一的入口点&#xff0c;对请求进行路由&#xff0c;过滤和处理。它就像是整个微服务系统的大门&#xff0c;所有外部请求都要通过它才能访问到后端的各个微服务。 2.核心概念 2.1路由(Route) 路由是Spring Cloud gateWay中最基本…...

Docker部署Jenkins服务

文章目录 1.下载Jenkins服务2.部署Java21&#xff08;可选&#xff09;2.1 安装Java21 3.Maven3.9.9安装4.启动Jenkins5.初始化Jenkins5.1 入门5.2 安装推荐的插件5.3 创建第一个管理员用户5.4 实例配置5.5 Jenkins已就绪5.6 开始使用Jenkins5.7 重启Jenkins 6.配置Jenkins6.1 …...

[ctfshow web入门] web40

信息收集 怎么一下子多这么多过滤啊&#xff0c;我以为跳过了好几题 这又能eval了&#xff0c;但是连$也不能用了 不能用. * ?&#xff0c;所以打不出fla*或者fla?????了 不能用/&#xff0c;构造不出日志注入和伪协议包含 仔细观察&#xff0c;禁的是中文的括号&#x…...

蓝桥杯c ++笔记(含算法 贪心+动态规划+dp+进制转化+便利等)

蓝桥杯 #include <iostream> #include <vector> #include <algorithm> #include <string> using namespace std; //常使用的头文件动态规划 小蓝在黑板上连续写下从 11 到 20232023 之间所有的整数&#xff0c;得到了一个数字序列&#xff1a; S12345…...

UE5 Windows游戏窗口置顶

参考资料&#xff1a;UE5 UE4 项目设置全局置顶_ue4运行设置置顶-CSDN博客 修改完build.cs后&#xff0c;关掉重新生成解决方案。&#xff08;不然可能编译报错&#xff0c;在这卡了半个小时&#xff09; 不知道怎么用C的&#xff0c;可以用这个 Topmost - Keep Editor/Game w…...

Qt问题之 告别软件因系统默认中文输入法导致错误退出的烦恼

1. 问题 使用Qt进行研发时&#xff0c;遇到一个问题&#xff0c;当在系统默认输入法中文&#xff08;英文输入法或者搜狗就不会触发闪退&#xff09;的情况下&#xff0c;选中QTableWidget控件&#xff08;QTableWidgetItem有焦点&#xff0c;但是不双击&#xff09;&#xff…...

力扣热题100刷题day62|283.移动零、39.组合总和、94.二叉树的中序遍历

1.283.移动零——双指针 快慢两个指针&#xff0c;慢指针指向新数组&#xff0c;快指针遍历旧数组&#xff0c;寻找非0元素&#xff0c;找到后&#xff0c;交换快慢指针所指向元素&#xff1b; 因为快指针已经遍历过&#xff0c;所以交换前慢指针处的元素都是0&#xff1b; …...

API 请求失败时的处理方法

在使用 Python 爬虫调用 API 时&#xff0c;请求失败是一个常见的问题。这可能是由于网络问题、API 限制、服务器错误或其他原因导致的。为了确保爬虫的稳定性和可靠性&#xff0c;我们需要合理地处理这些失败的请求。以下是一些有效的处理方法&#xff1a; 1. 捕获异常 使用…...

【MySQL | 八、 事务管理】

文章目录 什么是事务&#xff1f;事务的特性&#xff1a;事务的意义事务的提交查看事务提交方式事务的自动提交事务的手动提交开始事务执行SQL操作事务操作提交事务示例&#xff1a; 事务的隔离级别并发访问的基本概念并发事务的典型问题对ACID特性的影响查看和设置隔离属性各个…...