更新时间:2023-02-02 09:38:16贡献者收藏订阅更新我的文档设置返回文档组件触发事件时,逻辑层绑定该事件的处理函数会收到一个事件对象。baseevent 基础事件baseevent 基础事件对象属性列表:属性类型描述最低版本typestring事件类型。-timestampinteger事件生成时的时间戳。-targetobject触发事件的组件的属性值集合。-markobject事件标记数据。type事件的类型。timestamp事件生成时的时间戳。targetdataset 在组件中可以定义数据,这些数据将会通过事件传递给逻辑层。 以 data- 开头,由连字符 - 连接多个单词,所有字母必须小写,如 data-element-type,最终会在 event.target.dataset 中会将连字符转成驼峰 elementtype。示例代码:html复制代码91<view data-alpha-beta="1" ontap="bindviewtap"> dataset test view>912345page({ bindviewtap: function (event) { event.target.dataset.alphabeta === 1; // - 会转为驼峰写法 },});触发事件的源组件对象,属性列表如下:属性类型描述idstring事件源组件的 id。tagnamestring当前组件的类型。datasetobject绑定事件的组件上由 data- 开头的自定义属性的集合。targetdatasetobject实际触发事件的组件上由 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),属性列表如下:属性类型描述detailobject额外的信息。detail自定义事件所携带的数据。表单组件事件会携带用户的输入信息,例如 switch 单选开关 onchange 触发时可通过 event.detail.value 获取用户选择的状态值,媒体的错误事件会携带错误信息,更多信息请参见各组件文档事件说明。touchevent 触摸事件对象touchevent 触摸事件对象(继承自 baseevent),属性列表:属性类型描述touchesarray当前停留在屏幕中的触摸点信息的数组。changedtouchesarray当前变化的触摸点信息的数组。touches 是一个数组,每个元素为一个 touch 对象( canvas 触摸事件中携带的 touches 是 canvastouch 的数组),表示当前停留在屏幕上的触摸点。 changedtouches 数据格式同 touches。 表示有变化的触摸点,如从无变有(touchstart),位置变化(touchmove),从有变无(touchend、touchcancel)。touch 对象属性类型描述identifiernumber触摸点的标识符。pagex, pageynumber距离文档左上角的距离,左上角为原点 ,横向为 x 轴,纵向为 y 轴。clientx, clientynumber距离页面可显示的区域(屏幕除去导航条)的距离,左上角为原点,横向为 x 轴,纵向为 y 轴。canvastouch 对象属性类型描述identifiernumber触摸点的标识符。x, ynumber距离 canvas 左上角的距离,canvas 的左上角为原点 ,横向为 x 轴,纵向为 y 轴。示例如 touchmove 事件,当用户触摸下例的组件。页面中响应事件的处理函数 touchmovehandle 会被调用,touchevent 触摸事件对象将作为参数传入。下面是打印的 touchevent 对象的信息: