1 dojo
我有一个模块.我需要它才能显示模态对话框.
好像我需要将一个div注入主DOM然后解析它.这是正确的方法吗?是否有样品(甚至像这样的实用工具不会那么罕见)
DojoCampus和tests目录中几乎所有内容都有示例:
var pane = dojo.byId('thirdDialog');
thirdDlg = new dijit.Dialog({
id: "dialog3",
refocus:false,
title: "Programatic Dialog Creation"
},pane);
Run Code Online (Sandbox Code Playgroud)
请注意,此特定窗口小部件不需要手动插入到DOM中 - 它会将自身附加到页面的末尾.这里Dialog构造函数的第二个参数 - pane - 是对其内容应该在Dialog中显示的节点的引用.
更新:根据新信息,您应该尝试这样做:
dojo.require("dijit.Dialog");
dojo.addOnLoad(function() {
secondDlg = new dijit.Dialog({
title: "Programatic Dialog Creation",
style: "width: 300px",
content: "Insert text here"
});
secondDlg.show()
});
Run Code Online (Sandbox Code Playgroud)
如此处所示,您可以在content属性中传递Dialog内容.(此示例在包含Dojo的任何页面上都可以在FireBug中执行.)
更新:那么,你想在Dialog中有一个表单吗?这里没什么特别的.嘿,你甚至可以在那边有一个dijit形式!请务必查看有关Dialogs的DojoCampus文章,了解Dialog如何与dijit表单进行通信.
dojo.require("dijit.Dialog");
dojo.require("dijit.form.TextBox");
dojo.addOnLoad(function() {
secondDlg = new dijit.Dialog({
title: "Programatic Dialog Creation",
style: "width: 300px",
content: "<h2>Sample Form</h2>" +
"name: <input dojoType='dijit.form.TextBox' type='text' name='name' id='name'>"
});
secondDlg.show()
});
Run Code Online (Sandbox Code Playgroud)
(同样,此示例可在包含Dojo的任何页面上的FireBug中执行.)