[微信小程序]鼠标事件
来源:互联网 发布:广数螺纹编程格式 编辑:程序博客网 时间:2024/06/05 10:05
微信小程序鼠标事件
事件分类
事件分为冒泡事件和非冒泡事件:
1. 冒泡事件(bind):当一个组件上的事件被触发后,该事件会向父节点传递。
2. 非冒泡事件(catch):当一个组件上的事件被触发后,该事件不会向父节点传递。
bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡。
WXML的冒泡事件列表
冒泡讲解
<view id="outter" bindtap="handleTap1"> outer view <view id="middle" catchtap="handleTap2"> middle view <view id="inner" bindtap="handleTap3"> inner view </view> </view></view>
点击inner view后只触发handleTap3,然后再触发handleTap2.不触发handleTap1。
因为handleTap2中的绑定类型是catch,阻止了冒泡事件。
返回对象
BaseEvent 基础事件对象属性列表:
type
代表事件的类型。
timeStamp
页面打开到触发事件所经过的毫秒数。
target
触发事件的源组件。
dataset
在组件中可以定义数据,这些数据将会通过事件传递给 SERVICE。 书写方式: 以data-开头,多个单词由连字符-链接,不能有大写(大写会自动转成小写)如data-element-type,最终在 event.currentTarget.dataset 中会将连字符转成驼峰elementType。
示例: <view data-alpha-beta="1" data-alphaBeta="2" bindtap="bindViewTap"> DataSet Test </view>
Page({ bindViewTap:function(event){ event.currentTarget.dataset.alphaBeta === 1 // - 会转为驼峰写法 event.currentTarget.dataset.alphabeta === 2 // 大写会转为小写 }})
CustomEvent 自定义事件对象属性列表(继承 BaseEvent):
detail
自定义事件所携带的数据,如表单组件的提交事件会携带用户的输入,媒体的错误事件会携带错误信息,详见组件定义中各个事件的定义。
点击事件的detail 带有的 x, y 同 pageX, pageY 代表距离文档左上角的距离。
TouchEvent 触摸事件对象属性列表(继承 BaseEvent):
touches
touches 是一个数组,每个元素为一个 Touch 对象(canvas 触摸事件中携带的 touches 是 CanvasTouch 数组)。 表示当前停留在屏幕上的触摸点。
Touch 对象
changedTouches
changedTouches 数据格式同 touches。 表示有变化的触摸点,如从无变有(touchstart),位置变化(touchmove),从有变无(touchend、touchcancel)。
特殊事件: <canvas/> 中的触摸事件不可冒泡,所以没有 currentTarget。
bindtap
程序代码
<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>
对应的js
Page({ tapName: function(event) { console.log(event) }})
输出结果
{"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}]}
可以看到,返回的type是tap
同时在target.id节点中也可以看到 对应的id
在a.target.dataset.hi中也可以找到对应的data-id的值(data-hi → hi)
实际内容以文档为准
- [微信小程序]鼠标事件
- 微信小程序--鼠标事件 & 点击事件返回值的target分析
- 添加鼠标事件 ----简单画图程序
- 鼠标事件
- 鼠标事件
- 鼠标事件
- 鼠标事件
- 鼠标事件
- 鼠标事件
- 鼠标事件
- 鼠标事件
- 鼠标事件
- 鼠标事件
- 鼠标事件
- 鼠标事件
- 鼠标事件
- 鼠标事件
- 鼠标事件
- 流媒体相关 标准文档对应 整理
- 问答机器人
- 记忆的窍门
- 新手学C++多线程编程(10)类行为和线程处理
- zigbee协议栈z-satack解读。
- [微信小程序]鼠标事件
- Js中非构造函数的继承(深拷贝浅拷贝)
- 介绍 redis-Bit-Map 的相关命令和常用场景
- Codeforces835D-Palindromic characteristics(DP)
- MongoDB 聚合操作
- imx6 Linux Kernl添加spidev的设备节点
- maven 配置windows环境变量
- 【HDU 6060 RXD and dividing】+ DFS
- 分清数学库与浮点运算