【问题标题】:Dojo Dialog with confirmation button with a widget as content带有确认按钮的 Dojo 对话框,以小部件作为内容
【发布时间】:2014-07-11 13:52:26
【问题描述】:

我正在尝试实现通用 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' 按钮时,不会像在原始版本中那样弹出对话框。我到底做错了什么或在这里错过了一步?

(编辑:基于评论)

【问题讨论】:

  • “代码不再工作” - 请在此处更具体
  • 我修改的代码可以在:jsfiddle.net/wkydY/304找到。在这个版本的代码中,因为我设置了小部件内容,点击“MessageBox.Confirm”按钮不会像在原始版本中那样弹出确认对话框。
  • 请更新您的问题,以便 其文本 包含您所说的“代码不起作用”的规范。这是一条非常重要的信息,不应该只是在下面的评论中。

标签: dojo 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/

【讨论】:

    猜你喜欢
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    • 2016-10-10
    • 1970-01-01
    • 2012-03-16
    相关资源
    最近更新 更多