微信小程序事件绑定基本语法示例详解
微信小程序使用 bind
或 catch
前缀绑定事件,语法如下:
bind
:事件绑定,允许事件冒泡(向父组件传递)。catch
:事件绑定,阻止事件冒泡(不会向父组件传递)。
一、常见事件类型
事件名 | 说明 | 适用组件 |
---|---|---|
tap | 点击事件 | view , button |
input | 输入框内容变化 | input , textarea |
submit | 表单提交 | form |
scroll | 滚动事件 | scroll-view |
longpress | 长按事件(350ms) | view , button |
二、事件绑定示例
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 | 事件类型(如 tap , input ) |
target | 触发事件的组件(原始事件源) |
currentTarget | 当前绑定事件的组件 |
detail | 额外信息(如输入框的值) |
timeStamp | 事件触发时间戳 |
touches | 触摸点信息(多指触控) |
获取 data-* 自定义数据
四、阻止事件冒泡(catch vs bind)
bind
:允许事件向上冒泡(父组件也会触发相同事件)。catch
:阻止事件冒泡(仅当前组件触发)。
示例
五、自定义组件事件(triggerEvent)
如果使用自定义组件,可以通过 triggerEvent
触发父组件的事件:
子组件
父组件
六、总结
场景 | 推荐写法 |
---|---|
普通点击事件 | bindtap="handleTap" |
阻止冒泡 | catchtap="handleTap" |
表单输入 | bindinput="handleInput" |
表单提交 | bindsubmit="handleSubmit" |
自定义组件通信 | triggerEvent + bind事件名 |
上一篇:vue+d3js+fastapi实现天气柱状图折线图饼图的示例
栏 目:JavaScript
下一篇:Vue使用wavesurfer.js实现音频可视化的示例详解
本文标题:微信小程序事件绑定基本语法示例详解
本文地址:https://www.fushidao.cc/wangluobiancheng/23698.html
您可能感兴趣的文章
- 07-21Webpack打包速度优化方案汇总
- 07-21Vuex Actions多参数传递的解决方案
- 07-21前端JavaScript数组方法总结(非常详细!)
- 07-21使用Node.js制作图片上传服务的详细教程
- 07-21vue3整合SpringSecurity加JWT实现权限校验
- 07-21vue3中pinia的使用及持久化的实现
- 07-21vue3整合SpringSecurity加JWT实现登录认证
- 07-21一文详解如何将Javascript打包成exe可执行文件
- 07-21JavaScript中if、else if、else和switch的语法、用法及注意事项
- 07-21Vue 3 中 vue-router 的 router.resolve () API详解


阅读排行
- 1Webpack打包速度优化方案汇总
- 2Vuex Actions多参数传递的解决方案
- 3前端JavaScript数组方法总结(非常详细!)
- 4使用Node.js制作图片上传服务的详细教程
- 5vue3整合SpringSecurity加JWT实现权限校验
- 6vue3中pinia的使用及持久化的实现
- 7vue3整合SpringSecurity加JWT实现登录认证
- 8一文详解如何将Javascript打包成exe可执行文件
- 9JavaScript中if、else if、else和switch的语法、用法及注意事项
- 10Vue 3 中 vue-router 的 router.resolve () API详解
推荐教程
- 04-23JavaScript Array实例方法flat的实现
- 04-23Vue3使用v-if指令进行条件渲染的实例代码
- 04-23THREE.JS使用TransformControls对模型拖拽的代码实例
- 07-21JavaScript判断数据类型的四种方式总结
- 04-23vue3+ts项目搭建的实现示例
- 07-21JavaScript检查变量类型的常用方法
- 07-21基于vue3与supabase系统认证机制详解
- 07-21JavaScript双问号操作符(??)的惊人用法总结大全
- 07-21JavaScript中if、else if、else和switch的语法、用法及注意事项
- 07-21Vue中使用vue-plugin-hiprint插件进行打印的功能实现