次のようなカスタム コンポーネントを作成しました。
my.Cmp = function(opt_domHelper) {
goog.ui.Component.call(this, opt_domHelper);
...
};
goog.inherits(my.Stamina, goog.ui.Component);
my.Cmp.prototype.createDom = function() {
this.decorateInternal(this.dom_.createDom('div', 'сmp-inner-div'));
};
my.Cmp.prototype.decorateInternal = function(element) {
my.Cmp.superClass_.decorateInternal.call(this, element);
var elem = this.getElement();
...
};
my.Cmp.prototype.disposeInternal = function() {
my.Stamina.superClass_.disposeInternal.call(this);
...
};
my.Cmp.prototype.enterDocument = function() {
...
}
my.Cmp.prototype.exitDocument = function() {
...
}
次に、htmlドキュメントにインスタンスを作成しました
var cmp = new my.Cmp();
cmp.render(goog.dom.getElement('cmpContainerDivId'));
このコンポーネントはキーボードを使用します。マウス クリック後にキーボード フォーカスを取得し、正常に動作します。ページの読み込み後に kb にフォーカスを与える方法が見つかりません。goog.ui.Control から my.Cmp コンポーネントを継承し、その setFocused メソッドを使用しようとしました。getState() は、フォーカスが設定されていることを示していますが、マウス クリックまたはタブ キーが押される前に kb を入力しても反応しません。