微信小程序开发 - 事件处理
事件是试图层到逻辑层的通讯方式,用户通过对页面的操作,触发事件将操作的数据传输到逻辑层,逻辑层再通过数据绑定后响应到相应的页面。
本文讲述的是事件处理,数据绑定请参照:微信小程序学习之路《三》 数据绑定
事件
事件种类
事件分为冒泡事件和非冒泡事件:
- 冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。
- 非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。
WXML的冒泡事件列表:
类型 | 触发条件 |
touchstart | 手指触摸动作开始 |
touchmove | 手指触摸后移动 |
touchcancel | 手指触摸动作被打断,如来电提醒,弹窗 |
touchend | 手指触摸动作结束 |
tap | 手指触摸后马上离开 |
longtap | 手指触摸后,超过350ms再离开 |
注:除上表之外的其他组件自定义事件如无特殊申明都是非冒泡事件,如<form/>的submit事件,<input/>的input事件,<scroll-view/>的scroll事件,(详见各个组件)
事件绑定
事件绑定的写法同组件的属性,以 key、value 的形式。
- key 以
bind
或catch
开头,然后跟上事件的类型,如bindtap
,catchtouchstart
- value 是一个字符串,需要在对应的 Page 中定义同名的函数。不然当触发事件的时候会报错。
bind
事件绑定不会阻止冒泡事件向上冒泡,catch
事件绑定可以阻止冒泡事件向上冒泡。
如在下边这个例子中,点击 inner view 会先后触发handleTap3
和handleTap2
,点击 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>
事件对象
如无特殊说明,当组件触发事件时,逻辑层绑定该事件的处理函数会收到一个事件对象。
<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>
Page({ tapName: function(event) { console.log(event) } }) |
相关推荐
在小程序中,我们可以看到使用了微信小程序提供的API,如网络请求(获取音乐数据)、存储(保存用户偏好)、事件处理(点击事件、播放控制)等。 对于“仿酷狗音乐微信小程序”的具体实现,我们可以从以下几个方面...
此外,微信小程序还提供了生命周期管理和事件处理机制。每个页面都有其特定的生命周期,如`onLoad`、`onShow`、`onHide`等,开发者可以根据这些生命周期来执行相应的操作。同时,通过绑定事件处理函数,可以实现用户...
本资源包含2000套微信小程序的源码,对于开发者来说是一份宝贵的参考资料,可以用来学习、研究或者作为开发新项目的起点。 源码下载是开发者获取程序原始代码的方式,对于学习和理解编程逻辑至关重要。这些微信小...
项目实战中提供的"点餐demo"可能是已经完成部分功能的源代码,学习者可以通过阅读和修改这些代码,加深对微信小程序开发的理解。同时,也可以参考这个示例来构建自己的点餐系统。 六、小程序开发注意事项 1. 规范...
这篇博客文章《微信小程序学习(5)_事件》深入探讨了微信小程序中的事件机制。 首先,我们需要了解微信小程序中事件的基本类型。事件大致可以分为点击事件(如tap、longTap)、触摸事件(如touchStart、touchMove...
本项目“微信小程序-模仿QQ小程序”旨在通过模仿QQ小程序的界面和功能,帮助开发者学习和掌握微信小程序的开发技巧。 首先,我们需要了解微信小程序的基本结构。微信小程序由JSON、WXML、WXSS和JavaScript四部分...
学习并实践这个"微信小程序示例 - 小相册"项目,开发者不仅可以掌握微信小程序的基本开发流程,还能深入理解前端性能优化、用户体验设计以及移动应用的数据管理策略。通过实际动手操作,对微信小程序的开发能力会有...
1. **微信小程序框架**:了解微信小程序的基本架构,包括WXML(WeiXin Markup Language)负责结构,WXSS(WeiXin Style Sheet)处理样式,以及JavaScript处理逻辑。WXML与HTML类似,但不完全相同,WXSS则类似于CSS,...
6. **生命周期方法**:每个微信小程序页面都有其特定的生命周期,如onLoad、onShow、onHide等,开发者可以在这些方法中编写相应代码来处理页面的加载、显示、隐藏等事件。 7. **数据绑定和状态管理**:通过双括号{{...
这个"微信小程序代码-微信中的知乎--微信小程序demo.zip"压缩包提供了一个模仿知乎界面的微信小程序示例,帮助开发者理解和学习如何构建类似的应用。 1. **小程序模板代码**:在开发微信小程序时,模板代码可以作为...
通过对猫眼微信小程序源码的深入学习,开发者可以了解到微信小程序的完整开发流程,包括如何定义页面结构、编写样式、处理业务逻辑以及与微信API的交互。同时,也能从中汲取优化用户体验、提高程序性能的技巧,对于...
为了进一步学习和定制,开发者需要熟悉微信小程序的开发环境,如微信开发者工具,以及小程序的生命周期、事件处理等基础知识。 总的来说,"图片拼图小程序源码"涵盖了微信小程序开发中的图像处理、用户交互、模板...
本资源“100个微信小程序实例”包含了一系列真实的微信小程序项目,是学习和掌握微信小程序开发的宝贵资料。 这些实例覆盖了各种应用场景,包括但不限于电商、社交、生活服务、工具、游戏等类别。通过学习这些实例...
微信小程序是一种轻量级的应用开发平台,由腾讯公司推出,主要应用于移动端,旨在提供便捷的、无需...通过学习和实践这个项目,开发者可以深入理解微信小程序的开发技术和流程,为构建更多实用的小程序打下坚实基础。
通过分析这100个微信小程序源码,开发者不仅能学习到基础的开发技巧,还能掌握更高级的实践策略,例如性能优化、错误处理、用户体验设计等。此外,源码还可以作为参考,帮助解决开发过程中遇到的问题,或者激发新的...
通过分析这些源码,开发者可以学习到微信小程序的页面路由管理、数据绑定、事件处理、网络请求、状态管理以及组件化开发等核心知识点。例如,WXML 文件用于定义页面结构,通过绑定数据和事件,与 JS 文件中的逻辑...
总结,【微信小程序-毕设期末大作业】模拟题库微信小程序源码是一个综合性的学习资源,涵盖了微信小程序的基础知识、页面构建、数据处理和功能实现等多个方面,对于想要学习或实践微信小程序开发的学员来说,是一个...
开发者通常会利用微信小程序提供的生命周期函数来管理游戏状态,如`onLoad`用于加载游戏资源,`onReady`标志着页面渲染完成,可以开始游戏,`onTouchStart`和`onTouchMove`等则用于处理用户的触摸事件。同时,良好的...
使用WebAssembly,OpenCV的C++代码可以被编译成可以在Web环境中执行的二进制格式,这使得微信小程序能够利用OpenCV的强大功能进行实时图像处理,从而实现AR效果。 在这个项目中,可能的步骤包括: 1. 使用Go语言...