问题描述
我正在尝试开发一个基本的 Tizen 电视应用程序。 为此,我创建了两个锚标记和一个按钮。 代码如下。
<!DOCTYPE html>
<html>
<head>
<title>ReactSampleApp</title>
<style>
body,html{
position:absolute;
padding:0px;
margin:0px;
width:100%;
height:100%;
background:#fff;
}
</style>
<script src="js/main.js"></script>
</head>
<body>
<a href="./page2.html">
<button>click here for some music</button>
</a>
<a href="./page3.html">
<button>click here to go to page3</button>
</a>
<button onclick="function(){alert(0)}">click here for an alert</button>
</body>
</html>
如您所见,它只是一个普通的示例 HTML 页面,在单击这些按钮时会遍历到不同的页面。
而且它工作正常,所以没有问题。
问题在于关注元素。 好吧,这不完全是我的疑问。
window.onload = function() {
// add eventListener for keydown
document.addEventListener('keydown',function(e) {
switch(e.keyCode){
case 37: //LEFT arrow
break;
case 38: //UP arrow
break;
case 39: //RIGHT arrow
break;
case 40: //DOWN arrow
break;
case 13: //OK button
// window.open("/page2.html");
break;
case 10009:
tizen.application.getCurrentApplication().exit();
break;
default:
console.log('Key code : ' + e.keyCode);
break;
}
});
};
我只是写它来处理关键事件 - 向上、向下、向左、向右和输入。 现在在这个 switch 块中,我能够编写警报并能够与页面交互。 但现在我想定期向上、向下、向左、向右输入输入,而不是警报。
意思 - 说是否有一个网格(一个动态的)。如何通过水平或垂直遍历元素来关注元素? 我需要编写明确的代码还是我在这里遗漏了什么? Tizen 是否提供了这种带有输入键的 Web 元素的基本遍历?
提前致谢
解决方法
要将远程控制按键事件传递到客户端应用的 JS 运行时,您首先需要注册要与 registerKey
方法一起使用的按键事件
使用本页底部表格中“键名”列中的值:https://developer.samsung.com/smarttv/develop/guides/user-interaction/remote-control.html
例如注册电视遥控器上的“红色”按钮..
window.tizen.tvinputdevice.registerKey("ColorF0Red");
然后您可以在 keyDown 处理程序中监听 403 的键码值