Javascript 使用三星智能电视SDK 4.0进行窗体/焦点处理

Javascript 使用三星智能电视SDK 4.0进行窗体/焦点处理,javascript,forms,samsung-smart-tv,Javascript,Forms,Samsung Smart Tv,我正在为三星智能电视(Samsung Smart TVs)开发一款应用程序,该应用程序使用三星最新的SDK 我有一个基于场景的应用程序,现在想使用TV remove控制它 使用jQuerys.select()使光标进入其中一个输入字段的简单方法似乎完全禁用了远程控制,错误是 正文当前未激活。。。跳过!:输入 据我所知,这与具有onkeydown处理程序的body元素有关 这导致我基本上需要手动管理聚焦/模糊状态,无法使用CSS选择器,例如:active、:focused,这将不是很整洁 如有任何

我正在为三星智能电视(Samsung Smart TVs)开发一款应用程序,该应用程序使用三星最新的SDK

我有一个基于场景的应用程序,现在想使用TV remove控制它

使用jQuerys
.select()
使光标进入其中一个输入字段的简单方法似乎完全禁用了远程控制,错误是

正文当前未激活。。。跳过!:输入

据我所知,这与具有onkeydown处理程序的body元素有关

这导致我基本上需要手动管理聚焦/模糊状态,无法使用CSS选择器,例如:active、:focused,这将不是很整洁

如有任何帮助/文档链接等,将不胜感激


我正在使用基于VMWare的emulator在Mac OS下开发应用程序。

我们对应用程序所做的是为场景中的活动元素分配一个类。然后使用javascript,您可以根据页面元素的活动状态添加侦听器

例如,当应用程序加载时,您可以将一个活动类分配给HTML页面上的第一个按钮。然后,您可以使用遥控器上按钮的侦听器,以便“向下”按钮将活动状态更改为场景中的下一个按钮

//key press listener for remote
SceneScene1.prototype.handleKeyDown = function (keyCode) {
    //find the key code you are looking for
    switch (keyCode) {
        case sf.key.LEFT:
        //code for left keypress
        break;

    case sf.key.RIGHT:
        //code for left keypress
        break;

    case sf.key.UP:
            //code for up keypress
        break;

    case sf.key.DOWN:
        //code for down keypress
            if ($('#button1').hasClass('active')) {
                $('#button1').removeClass('active');
                $('#button2').addClass('active');
            }
        break;

    case sf.key.ENTER:
            //code for enter keypress
        break;
    }
}

你是对的,它看起来并没有那么干净,但是当你和一个遥控器接口时,它就和你得到的一样好了。您必须指定“聚焦”元素,并将其用作远程指令的上下文。

如果您觉得这更有益,可以尝试切换Class?

谢谢!这或多或少也是我想到的。不是很优雅,基本上重复了聚焦/模糊功能,但似乎有效。