0

アプリケーションコードの特定の部分から次のExt.getElementById呼び出しがあります。これは、このコンテキストで呼び出されたときに機能します。

init: function() {
    // template method called when app boots; before Viewport is created

    this.control({
        'launcherlist': {
            itemclick: function (dataView, record) {
            Ext.getElementById('element-id');
         },
    }
    ...
}

ただし、ユーザーがトリガーするイベントが発生する前にgetElementById、早い段階でを呼び出す必要があります。

getElementById直接呼び出された場合、アプリの起動時に呼び出されたようにはinit機能しません。initビューポートが作成される前。

のようなテンプレートメソッドであるonLaunchため、コントローラーのイベントをオーバーライドすることにしましたが、ビューポートが作成された後に呼び出されます。onLaunchinit

onLaunch: function() {
    Ext.getElementById('element-id');
},

しかし、これもうまくいきませんでした。

TL / DR

ユーザーがトリガーするアクションが発生する前に、どこに電話 かけることができますか?Ext.getElementById

4

2 に答える 2

3

あなたはあなたがやろうとしていることを説明したいかもしれません。getElementByIdは「プライベート」メソッドであるため、実際に呼び出す必要はありません。IDで要素を取得する場合は、Ext.getを使用します。

于 2012-07-08T14:00:39.227 に答える
0

解決:

私が探しているDOM要素をレンダリングするウィジェットはextendsであるため、レンダリングされた要素を実際に見つけることができる正しいイベントはイベントExt.view.Viewです。 Ext.getviewready

PS Oneは、後者がプライベートな方法であるため、Ext.getどこでも使用する必要があります。Ext.getElementById

于 2012-07-10T20:37:14.553 に答える