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 回答