【问题标题】:Dojo dialog dynamic contentDojo 对话动态内容
【发布时间】:2012-03-01 22:51:22
【问题描述】:

我想问你,如何使用 javascript 动态创建 HTML 内容。这意味着,我需要创建简单的 dojo 对话框,然后我用另一个 js 文件“告诉他”它可以显示哪些内容。 或者我有 html 文件,其中包含一些对 javascript 函数的调用,但它不起作用。显示静态标签,但 js 不呈现内容。像这样的 dojo 是可能的,因为我没找到。

米罗

【问题讨论】:

    标签: javascript dojo


    【解决方案1】:

    在 dojo 中创建一个对话框并在页面上从 javascript 中为其提供一些内容非常容易。到目前为止,我发现的最简单的方法是在 dojo 风格的 javascript 中创建对话框,然后使用 dojo.create 在其 containerNode 中创建内容。

    dojo.require('dijit.Dialog');
    
    function showDialog() {
      var dialog = new dijit.Dialog({ title: 'Confirmation' });
      dojo.create('div', {
        innerHTML: 'Are you sure you want to do this?'
      }, dialog.containerNode /* the content portion of the dialog you're creating */);
      var div = dojo.create('div', {}, dialog.containerNode);
      dojo.create('a', {
        href: '#',
        innerHTML: 'Yes',
        onClick: function() {
          /* do yes stuff */
        }
      }, div);
      dojo.create('a', {
        href: '#',
        innerHTML: 'No',
        onClick: function() {
          /* do no stuff */
          dialog.hide();
          dojo.destroy(dialog);
        }
      }, div);
    
      dialog.show();
    }
    

    【讨论】:

    • 感谢您的快速回复。我还有一个问题,是否可以制作像 var xxx = doCreateHTML(a,b,c) 这样的东西,其中“doCreateHTML(a,b,c)”是我动态创建的javascript函数基于参数的 HTML 代码的一部分,而不是我从您的代码中使用 innerHTML: xxx ?或者我该如何创建这个案例?
    • 当然有可能,但如果没有更多信息,我无法为您提供帮助。您需要根据您的要求进一步充实该注释并添加一个新的 SO 问题。我不确定评论是否会让你得到答案。
    • 我的问题是,我有一个带有 html 标签和 标签的 html 文件。当我将它作为内容放入 dojo 对话框时,那些
    • innerHTML 中的脚本标签不会自动执行。请参阅:stackoverflow.com/questions/2592092/…stackoverflow.com/questions/6789502/… 以获取有关如何进行的一些线索。您可能还可以考虑在特定元素上使用 dojo.parser.parse() 但这可能是一种矫枉过正
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    • 2011-03-26
    • 1970-01-01
    • 1970-01-01
    • 2016-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多