带有确认按钮的 Dojo 对话框,以小部件作为内容
Posted
技术标签:
【中文标题】带有确认按钮的 Dojo 对话框,以小部件作为内容【英文标题】:Dojo Dialog with confirmation button with a widget as content 【发布时间】:2014-07-11 13:52:26 【问题描述】:我正在尝试实现通用 dojo 确认对话框。我在 *** 中找到了有关如何在链接中执行此操作的大量资源: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' 按钮时,不会像在原始版本中那样弹出对话框。我到底做错了什么或在这里错过了一步?
(编辑:基于评论)
【问题讨论】:
“代码不再工作” - 请在此处更具体 我修改的代码可以在:jsfiddle.net/wkydY/304找到。在这个版本的代码中,因为我设置了小部件内容,点击“MessageBox.Confirm”按钮不会像在原始版本中那样弹出确认对话框。 请更新您的问题,以便 其文本 包含您所说的“代码不起作用”的规范。这是一条非常重要的信息,不应该只是在下面的评论中。 【参考方案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/
【讨论】:
以上是关于带有确认按钮的 Dojo 对话框,以小部件作为内容的主要内容,如果未能解决你的问题,请参考以下文章