codecamp

鸿蒙OS 组件通用事件

相对于私有事件,大部分组件都可以绑定如下事件。

名称 参数 描述
touchstart TouchEvent 手指刚触摸屏幕时触发该事件。
touchmove TouchEvent 手指触摸屏幕后移动时触发该事件。
touchcancel TouchEvent 手指触摸屏幕中动作被打断时触发该事件。
touchend TouchEvent 手指触摸结束离开屏幕时触发该事件。
click - 点击动作触发该事件。
longpress - 长按动作触发该事件。
focus - 获得焦点时触发该事件,span组件无法获取焦点。
blur - 失去焦点时触发该事件,span组件无法失去焦点。
key KeyEvent 智慧屏特有的按键事件,当用户操作遥控器按键时触发。返回true表示页面自己处理按键事件。返回false表示使用默认的按键事件逻辑。不返回值作为false处理。
属性 类型 说明
type string 当前事件的类型,比如click、longpress等。
timestamp number 该事件触发时的时间戳。

属性 类型 说明
touches Array<Object> 触摸事件时的属性集合,包含屏幕触摸点的信息数组。
changedTouches Array<Object> 触摸事件时的属性集合,包括产生变化的屏幕触摸点的信息数组。数据数据格式和touches一样。该属性表示有变化的触摸点,如从无变有,位置变化,从有变无。例如用户手指刚接触屏幕时,touches数组中有数据,但changedTouches无数据。
属性 类型 说明
globalX number 距离屏幕左上角(不包括状态栏)横向距离。屏幕的左上角为原点。
globalY number 距离屏幕左上角(不包括状态栏)纵向距离。屏幕的左上角为原点。
localX number 距离被触摸组件左上角横向距离。组件的左上角为原点。
localY number 距离被触摸组件左上角纵向距离。组件的左上角为原点。
size number 触摸接触面积。

属性 类型 说明
code number 智慧屏遥控器的按键值。常用按键值详见表5
action number 按键事件的按键类型:0:down1:up2:multiple用户点击一个遥控器按键,通常会触发两次key事件,先触发down事件,再触发up事件。当用户按下按键不放手时,action为2,此时repeatCount将返回次数。
repeatCount number 按键重复次数。
timestampStart number 按键按下时的时间戳。

数值 行为 物理按键
19 向上方向键
20 向下方向键
21 向左方向键
22 向右方向键
23 确定 智慧屏遥控器的确认键
66 确定 键盘的回车键
160 确定 键盘的小键盘回车键
鸿蒙OS JS API参考 组件tab-content
鸿蒙OS 自定义组件 基本概念
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

鸿蒙OS 开发

鸿蒙OS 术语

鸿蒙OS Java API参考

鸿蒙OS ohos.aafwk.ability

鸿蒙OS ohos.aafwk.abilityjet.activedata

鸿蒙OS ohos.aafwk.content

鸿蒙OS java.lang

鸿蒙OS java.Util

鸿蒙OS java.Util class

鸿蒙OS ohos.data.dataability

鸿蒙OS ohos.data.dataability class

鸿蒙OS ohos.agp.components

鸿蒙OS ohos.agp.components interface

鸿蒙OS ohos.agp.components class

鸿蒙OS ohos.global.configuration

鸿蒙OS java.io

鸿蒙OS ohos.data.resultset

鸿蒙OS ohos.data.resultset interface

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }