1

このtv.ui.buttonは、最初にロードされたときにのみmouseclickに応答しますが、少なくとも1回クリックされた後は、キーボードENTERまたはmouseclickに応答します。ここに何か問題がありますか?

HTML

<div class="tv-button alert-button" id="test-button">Alert button</div>

JS

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);;
      });
});

編集:これは、具体的にはクロージャーではなく、JavaScriptに関する質問のようです。適切なタグの下に新しい質問を投稿しています

4

2 に答える 2

1

ボタンにカーソルフォーカスがあることを確認しましたか?そうでない場合は、「Enter」キーイベントがデフォルトのハンドラーに渡されます。

于 2013-01-03T23:53:35.760 に答える
0

さて、セミハックで修正しました。$('target')。$(document).ready内のボタンをクリックしました。これは、クリックイベントが実際に発生したかのようにフォーカスを設定しているようです。

于 2013-01-07T22:00:45.623 に答える