带有确认按钮的Dojo对话框,其中有一个小部件作为内容

时间:2014-07-11 13:52:27

标签: dojo confirm

我试图实现通用的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;按钮不会像原始版本那样打开对话框。我到底做错了什么或错过了一步?

(编辑:基于评论)

1 个答案:

答案 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>"       
});

查看实际操作:http://jsfiddle.net/phusick/wkydY/305/