我试图实现通用的dojo确认对话框。我发现stackoverflow中有很多关于如何在链接中执行此操作的资源:Dojo Dialog with confirmation button
上面链接中提到的样本与http://jsfiddle.net/phusick/wkydY/中的样本完全一样。
现在我想扩展它以支持包含dojo数据类型和dojo附加点的更复杂的小部件。我尝试通过设置对话框的消息来实现此目的。 即
message: "<div data-dojo-attach-point='myAttachPoint'><button data-dojo-type='dijit/form/Button' type='button'>Click me</button></div>";
(请参阅此处的代码:http://jsfiddle.net/wkydY/304/)
当我这样做并点击MessageBox.Confirm&#39;按钮不会像原始版本那样打开对话框。我到底做错了什么或错过了一步?
(编辑:基于评论)
答案 0 :(得分:1)
这里有语法错误
var confirmDialog = new ConfirmDialog({
title: "My Title",
message: "<div data-dojo-attach-point='myAttachPoint'><button data-dojo-type='dijit/form/Button' type='button'>Click me</button></div>";
});
因为对象定义中不应该有分号,即在message: '...';
此外,当您使用非AMD Dojo时,您应该将type="dijit.form.Button"
放入邮件中。
所以上面这些行的正确版本是:
var confirmDialog = new ConfirmDialog({
title: "My Title",
message: "<div data-dojo-attach-point='myAttachPoint'><button data-dojo-type='dijit.form.Button' type='button'>Click me</button></div>"
});