3

dojoダイアログボックス内にボタンを設定して、それが存在するダイアログボックスを閉じる方法はありますか?

dijitsをdijitsの中に入れることはうまくいきません、そして私はそれをする方法がないと信じることができません。

4

2 に答える 2

3

確かに、別のウィジェット内に dijit ウィジェットを配置できます。また、標準の Dojo リリースには、テスト ケースDijit Dialog focus & destroyも含まれており、その中にボタンがあるダイアログを閉じる方法を示しています。関連する部分は次のとおりです。

var btn = new dijit.form.Button({ label: "Close" });
dlg.containerNode.appendChild(btn.domNode);

dojo.connect(btn, "onClick", function(){
    console.log("destroying, while visible"); 
    dlg.destroy();
});
于 2009-01-23T15:49:37.047 に答える
1

Dojo 1.7 以降、このconnectモジュールは に置き換えられていることに注意してくださいdojo/on。したがって、上記に相当するものは次のとおりです。

require(['dojo/on', 'dijit/form/Button'], function (on, Button) {
    // etc

    var btn = new Button({ label: "Close" });
    dlg.containerNode.appendChild(btn.domNode);

    on(btn, "onClick", function(){
        console.log("destroying, while visible"); 
        dlg.destroy();
    });
});
于 2016-03-10T09:10:33.073 に答える