javascript - Dojo 对话框显示为静态网页

标签 javascript dojo dialog

我正在尝试编写一个 Dojo 对话框的简单示例。我已经复制了 Dojo 引用中显示的示例 => http://dojotoolkit.org/reference-guide/1.7/dijit/Dialog.html

我的代码如下所示:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Dialog Test</title>
        <script language="JavaScript" type="text/javascript">
                dojo.require("dojo.parser");
                dojo.require("dojox.widget.Dialog");
                dojo.require("dijit.form.Button");
                dojo.require("dijit.layout.TabContainer")
                dojo.require("dijit.layout.ContentPane")
        </script>
    </head>
    <body>
        <div id="dialogOne" dojoType="dojox.widget.Dialog" title="My Dialog Title">
            <div dojoType="dijit.layout.TabContainer" style="width: 200px; height: 300px;">
                <div dojoType="dijit.layout.ContentPane" title="foo">Content of Tab "foo"</div>
                <div dojoType="dijit.layout.ContentPane" title="boo">Hi, I'm Tab "boo"</div>
            </div>
        </div>
        <p>When pressing this button the dialog will popup:</p>
        <button id="buttonOne" dojoType="dijit.form.Button">Show me!
            <script type="dojo/method" event="onClick" args="evt">
                // Show the Dialog:
                dijit.byId("dialogOne").show();
            </script>
        </button>
    </body>
</html>

当页面在浏览器中加载时,对话框不起作用。我只是看到选项卡式 Pane 中的文本出现在浏览器中。

我已经从引用指南中准确复制了代码,所以我很困惑。有什么建议吗?

谢谢。

詹姆斯。

最佳答案

不幸的是,Dojo 示例往往不能完全“按原样”工作,而是一些需要封装在各种标准仪式中的骨架代码。

至少有三个原因导致它无法正常工作和渲染。上面可能还有其他问题,但这些肯定会导致它无法渲染:

  1. 您需要链接到核心 Dojo 脚本的版本。链接到 CDN 版本是一种简单的方法。例如<script src="//ajax.googleapis.com/ajax/libs/dojo/1.8.3/dojo/dojo.js"></script> 。详细信息在这里:http://dojotoolkit.org/download/ 。请务必将此放在您的 require 之前脚本编写。
  2. 在页面中添加指向 Dijit 主题样式表(CSS 文件)的链接,否则所有小部件都无法正确显示。例如<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.8.3/dijit/themes/claro/claro.css‌​"/>
  3. 添加class body 元素上的属性描述您要使用的主题。例如<body class="claro">

只有当你完成这三件事后,它才有机会发挥作用。可能还存在其他问题,但它们是三个基本问题。

关于javascript - Dojo 对话框显示为静态网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14469100/

相关文章:

javascript - dojo/cordova 项目的单层构建文件

javascript - 如何通过dojo检测textarea的变化

python - python中如何使用Glade的对话框运行、销毁、复用

java - 当用户从 android 中的列表中选择一个项目时关闭对话窗口

javascript - 如何将按钮传递到 Jquery 函数中?

javascript - Firestore Promises 在 For 循环中进行查询收集 (Nuxt.js)

javascript - 之前处理请求数据时如何发送ajax请求?

javascript - 什么是暂时死区?

javascript - 如何使用 jquery 和 select2 获取所选 optgroup 的值?

javascript - Chartjs 3圆环图圆 Angular