tv.ui.button仅响应pageload上的鼠标单击

tv.ui.button仅响应pageload上的鼠标单击,button,keyboard,google-tv,google-closure,Button,Keyboard,Google Tv,Google Closure,此tv.ui.button仅在最初加载时响应鼠标单击,但在至少单击一次后响应键盘输入或鼠标单击。我这里有什么问题吗 HTML 编辑:这似乎是一个关于javascript的问题,而不是闭包问题。我在相应的标签下发布了一个新问题您是否确保按钮具有光标焦点?如果没有,则“Enter”键事件将被传递给默认处理程序。您是否确保按钮具有光标焦点?如果没有,那么“Enter”键事件将被交给默认的处理程序。好吧,我用一个半黑客程序修复了它。我使用了$('target')。单击$(document.)中的按钮。r

此tv.ui.button仅在最初加载时响应鼠标单击,但在至少单击一次后响应键盘输入或鼠标单击。我这里有什么问题吗

HTML


编辑:这似乎是一个关于javascript的问题,而不是闭包问题。我在相应的标签下发布了一个新问题

您是否确保按钮具有光标焦点?如果没有,则“Enter”键事件将被传递给默认处理程序。

您是否确保按钮具有光标焦点?如果没有,那么“Enter”键事件将被交给默认的处理程序。

好吧,我用一个半黑客程序修复了它。我使用了$('target')。单击$(document.)中的按钮。ready,它似乎设置了焦点,就好像一个单击事件实际上发生了一样。

好吧,我用一个半黑客程序修复了它。我使用了$('target')。单击$(document).ready中的按钮,它似乎将焦点设置为好像实际发生了单击事件

我不确定。光标焦点是如何定义的?看看这个StackOverflow答案:我添加了tabindex=0,像这样的Alert按钮仍然不走运,它只有在被点击至少一次后才会响应键盘。所以,我只是尝试添加了多个按钮,似乎问题不在于这个特定的元素。在至少单击一个按钮之前,页面上没有电视按钮,然后所有按钮都与键盘事件一起工作。您可以尝试将其添加到html文档的底部。getElementById('test-button')。focus();我不确定。光标焦点是如何定义的?看看这个StackOverflow答案:我添加了tabindex=0,像这样的Alert按钮仍然不走运,它只有在被点击至少一次后才会响应键盘。所以,我只是尝试添加了多个按钮,似乎问题不在于这个特定的元素。在至少单击一个按钮之前,页面上没有电视按钮,然后所有按钮都与键盘事件一起工作。您可以尝试将其添加到html文档的底部。getElementById('test-button')。focus();
<div class="tv-button alert-button" id="test-button">Alert button</div>
decorateHandler.addClassHandler('alert-button', function(button) {
goog.events.listen(button, tv.ui.Button.EventType.ACTION,
      function() {
        alert('Button clicked.');
        var elementToFocus = goog.dom.getElement('tab1');
        var componentToFocus = tv.ui.getComponentByElement(elementToFocus);
        tv.ui.Document.getInstance().setFocusedComponent(componentToFocus);;
      });
});