通用事件,即所有组件都支持的事件回调
开发者可以在组件标签上使用on{eventName}
(如onclick
)或@{eventName}
(如@click
)注册回调事件
更详细的讲解,可查阅事件绑定文档了解
<template>
<div>
<text onclick="clickFunction1">line 1</text>
<text @click="clickFunction2">line 2</text>
</div>
</template>
名称 | 参数 | 描述 | 冒泡 |
---|---|---|---|
click | MouseEvent 1050+ | 组件被点击时触发 | 1040+ |
focus | - | 组件获得焦点时触发 | 不支持 |
blur | - | 组件失去焦点时触发 | 不支持 |
appear | - | 组件出现时触发 | 不支持 |
disappear | - | 组件消失时触发 | 不支持 |
resize 1050+ | {offsetWidth: offsetWidthValue, offsetHeight: offsetHeightValue, offsetLeft: offsetLeftValue, offsetTop: offsetTopValue} | 组件大小改变后触发 | 不支持 |
onkey tv | KeyEvent | 组件中遥控器点击触发; 返回值false:默认值,如果页面内实现了onKey生命周期,则onKey生命周期会收到回调;如果页面没有实现onKey生命周期,将不拦截key值操作,直接执行对应key值 返回值true:表示自己处理key值,不往上传,页面的onKey生命周期也不会收到回调 | 不支持 |
1040+
版本对某些通用事件开放了冒泡功能,这些事件的响应行为与之前版本差异较大。因此为了兼容之前版本,开发者需要在 manifest.json
中将 minPlatformVersion
设置为 1040
或以上,才会启用这类通用事件的冒泡功能。
关于事件冒泡及阻止事件冒泡详细案例,请参考:事件监听
属性 | 类型 | 说明 |
---|---|---|
clientX | number | 距离可见区域左边沿的 X 轴坐标,不包含任何滚动偏移 |
clientY | number | 距离可见区域上边沿的 Y 轴坐标,不包含任何滚动偏移以及状态栏和 titlebar 的高度 |
pageX | number | 距离可见区域左边沿的 X 轴坐标,包含任何滚动偏移 |
pageY | number | 距离可见区域上边沿的 Y 轴坐标,包含任何滚动偏移。(不包含状态栏和 titlebar 的高度) |
offsetX | number | 距离事件触发对象左边沿 X 轴的距离 |
offsetY | number | 距离事件触发对象上边沿 Y 轴的距离 |
如下,在 div 上绑定了 click事件,触发事件时将事件打印出来。
<template>
<div class="root-page">
<div class="touch-region" onclick="click"></div>
</div>
</template>
<style>
.root-page {
flex-direction: column;
align-items: center;
}
.touch-region {
width: 80%;
height: 20%;
background-color: #444444;
}
</style>
<script>
export default {
private: {},
click(event) {
console.log("click event fired:" + JSON.stringify(event))
},
}
</script>
属性 | 类型 | 说明 |
---|---|---|
code | number | 按下的键位, keyCode表可查看下面的“键位支持”表 |
action | number | 按下或释放的动作,有0和1。0:按下;1:弹起。一般情况下,一次按键操作会分别触发一次“按下和”弹起“的keyAction |
repeatCount | number | 连续按的次数,repeatCount : 按键事件重复的次数。按键在长按的时候,会连续产生多个DOWN事件,这个时候除第一个DOWN事件的repeatCount为0,之后的DOWN事件的repeatCount会递增。 |
数值 | 描述 | 约定行为 | 设备 |
---|---|---|---|
19 | DPAD_UP | 上 | 遥控 |
20 | DPAD_DOWN | 下 | 遥控 |
21 | DPAD_LEFT | 左 | 遥控 |
22 | DPAD_RIGHT | 右 | 遥控 |
23 | DPAD_CENTER | 确定 | 遥控 |
<template>
<div onkey="onKeyFunction"></div>
</template>
onKeyFunction(event){
console.log('key pressed!'+event)
console.info(`触发组件 onkey 回调`)
// false:默认值,如果页面内实现了onKey生命周期,则onKey生命周期会收到回调;如果页面没有实现onKey生命周期,则sdk将不拦截key值操作,直接执行对应key值
// true:表示自己处理key值,不往上传,页面的onKey生命周期也不会收到回调
// return true
}