开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
native 渲染
性能与优化
小程序全局配置
小程序页面
axml
sjs 语法参考
事件系统
自定义组件
基础能力
基础库
基础库更新日志
开发 > 框架 > 事件系统 > 事件对象
贡献者
收藏
订阅更新
我的文档
设置
组件触发事件时,逻辑层绑定该事件的处理函数会收到一个事件对象。
baseevent 基础事件
baseevent 基础事件对象属性列表:
属性
类型
描述
最低版本
type
string
事件类型。
-
timestamp
integer
事件生成时的时间戳。
-
target
object
触发事件的组件的属性值集合。
-
mark
object
事件标记数据。

type
事件的类型。
timestamp
事件生成时的时间戳。
target
dataset 在组件中可以定义数据,这些数据将会通过事件传递给逻辑层。 以 data- 开头,由连字符 - 连接多个单词,所有字母必须小写,如 data-element-type,最终会在 event.target.dataset 中会将连字符转成驼峰 elementtype。示例代码:
html
复制代码
<view data-alpha-beta="1" ontap="bindviewtap"> dataset test view>
触发事件的源组件对象,属性列表如下:
属性
类型
描述
id
string
事件源组件的 id。
tagname
string
当前组件的类型。
dataset
object
绑定事件的组件上由 data-
开头的自定义属性的集合。
targetdataset
object
实际触发事件的组件上由 data-
开头的自定义属性的集合。
mark
自基础库 、ide 3.4.3 起,可以使用 mark 来识别具体触发事件的 target 节点。此外, mark 还可以用于承载一些自定义数据(类似于 dataset )。 当事件触发时,事件冒泡路径上所有的 mark 会被合并,并返回给事件回调函数(即使事件不是冒泡事件,也会 mark)。
代码示例
在上述 axml 中,如果按钮被点击,将触发 onviewtap 和 onbuttontap 两个事件,事件携带的 event.mark 将包含 mymark 和 anothermark 两项。
mark 和 dataset 很相似,主要区别在于:mark 会包含从触发事件的节点到根节点上所有的 mark: 属性值,而 dataset 仅包含一个节点的 data- 属性值。
注意
如果存在同名的 mark ,父节点的 mark 会被子节点覆盖。
在自定义组件中接收事件时,mark 不包含自定义组件外的节点的 mark。
不同于 dataset,节点的 mark 不会做连字符和大小写转换。
customevent 自定义事件对象
customevent 自定义事件对象(继承自 baseevent),属性列表如下:
属性
类型
描述
detail
object
额外的信息。
detail
自定义事件所携带的数据。表单组件事件会携带用户的输入信息,例如 switch 单选开关 onchange 触发时可通过 event.detail.value 获取用户选择的状态值,媒体的错误事件会携带错误信息,更多信息请参见各组件文档事件说明。
touchevent 触摸事件对象
touchevent 触摸事件对象(继承自 baseevent),属性列表:
属性
类型
描述
touches
array
当前停留在屏幕中的触摸点信息的数组。
changedtouches
array
当前变化的触摸点信息的数组。
touches 是一个数组,每个元素为一个 touch 对象( canvas 触摸事件中携带的 touches 是 canvastouch 的数组),表示当前停留在屏幕上的触摸点。 changedtouches 数据格式同 touches。 表示有变化的触摸点,如从无变有(touchstart),位置变化(touchmove),从有变无(touchend、touchcancel)。
touch 对象
属性
类型
描述
identifier
number
触摸点的标识符。
pagex, pagey
number
距离文档左上角的距离,左上角为原点 ,横向为 x 轴,纵向为 y 轴。
clientx, clienty
number
距离页面可显示的区域(屏幕除去导航条)的距离,左上角为原点,横向为 x 轴,纵向为 y 轴。
canvastouch 对象
属性
类型
描述
identifier
number
触摸点的标识符。
x, y
number
距离 canvas 左上角的距离,canvas 的左上角为原点 ,横向为 x 轴,纵向为 y 轴。
示例
touchmove 事件,当用户触摸下例的组件。
页面中响应事件的处理函数 touchmovehandle 会被调用,touchevent 触摸事件对象将作为参数传入。
下面是打印的 touchevent 对象的信息:
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图