0

古い Dojo バージョン 1.1.x を使用する必要があります。問題は、タブが変更された (ユーザーがタブを離れた) ときに発生するイベントを見つけることです。

シナリオ: タブ内にフォームがあり、データが編集され、タブが保存されずに残っています。現在、これを防ぐ方法を探しています。

    dojo.connect(this.myTabPoint, "onShow", function(evt){
        alert('X');
    });

正常に動作しますが、他のすべてのタブでチェックを実装する必要があります (;

4

1 に答える 1

1

Dojo 1.1.2 にはメソッド_hideChild(/*Widget*/ page)in dijit.layout.StackContainer(つまり のスーパークラス) があり、ページ/タブ (例: ) のメソッド (存在する場合)dijit.layout.TabContainerを呼び出します。onHideContentPane

問題は、 にonHideメソッドがないことです。そのため、コードの早い段階で ContentPane にスタブ メソッドをdijit.layout.ContentPane追加する必要があります。onHide

dojo.extend(dijit.layout.ContentPane, {
    onHide: function() {
        // stub method
    }
});

次に、特定のタブ/ContentPane でメソッドdojo.connectを実行するだけです。onHide

dojo.connect(dijit.byId("tab1"), "onHide", function() {
    console.log("tab1 is hidden now");
});
于 2012-08-28T07:54:14.847 に答える