Coco-LG的学习笔记《一》事件

来源:未知 浏览 120次 时间 2021-06-10 06:04

微信小程序的"事件"挺有意思。看了说明文档后发现它的功能很全事件可以向父节点传递而且打印这个事件的信息很透明seo优化技术而且打印这个事件的信息很透明调试起来应该非常方便。

接下来把文档copy过来原文地址:https://mp.weixin.qq.com/debug/wxadoc/dev/framework/view/wxml/event.html

Coco-LG的学习笔记《一》事件

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

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

Coco-LG的学习笔记《一》事件

事件的使用方式

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

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

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

在相应的Page定义中写上相应的事件处理函数参数是event。

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

可以看到log出来的信息大致如下: { "type": "tap", "timeStamp": 1252, "target": { "id": "tapTest", "offsetLeft": 0, "offsetTop": 0, "dataset": { "hi": "MINA" } }, "currentTarget": { "id": "tapTest", "offsetLeft": 0, "offsetTop": 0, "dataset": { "hi": "MINA" } }, "touches": [{ "pageX": 30, "pageY": 12, "clientX": 30, "clientY": 12, "screenX": 112, "screenY": 151 }], "detail": { "x": 30, "y": 12 } }  
事件详解 事件分类

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

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

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

类型 触发条件
touchstart   手指触摸  
touchmove   手指触摸后移动  
touchcancel   手指触摸动作被打断如来电提醒弹窗  
touchend   手指触摸动作结束  
tap   手指触摸后离开  
longtap   手指触摸后超过350ms再离开  
注:除上表之外的其他组件自定义事件都是非冒泡事件如

标签: 事件触摸组件冒泡