【问题标题】:Setting up Dojo Release 1.5.0设置 Dojo 版本 1.5.0
【发布时间】:2011-02-14 17:52:48
【问题描述】:

我下载了这个版本,我正在尝试从文档中运行一个示例。 扩展Dojo下载后,我的dojo目录是:

js/dojo-release-1.5.0/dijit
js/dojo-release-1.5.0/dojo
js/dojo-release-1.5.0/dojox

按钮会显示,但隐藏按钮不会隐藏 div。 是否需要添加其他 Dojo 库以及对 dojo.js 的引用?

<script type="text/javascript" language="JavaScript"  src="/js/dojo-release-1.5.0/dojo/dojo.js"></script>

<script type="text/javascript">

dojo.require("dijit.form.Button");

dojo.addOnLoad(function() {
    var node = dojo.byId("findMe");
    dojo.connect(dijit.byId("buttonOne"), "onClick", function() {
        dojo.fadeOut({
            node: node,
            duration: 300
        }).play();
    });
    dojo.connect(dijit.byId("buttonTwo"), "onClick", function() {
        dojo.fadeIn({
            node: node,
            duration: 300
        }).play();
    })
});

HTML:

<button dojoType="dijit.form.Button" id="buttonOne">
Hide Me!
</button>
<button dojoType="dijit.form.Button" id="buttonTwo">
Show Me!
</button>
<div id="findMe">
Hiya!
</div>

【问题讨论】:

    标签: dojo


    【解决方案1】:

    您可能缺少一些东西。正如 Daniel 所说,添加 parseOnLoad=true 作为 djConfig 参数会有所帮助。或者,您可以在 dojo.js 脚本标记之前添加 djConfig 参数作为全局 JS 变量,即

    <script>
      var djConfig = {
        parseOnLoad: true
      }
    </script>
    

    最后一种选择是自己手动调用解析器。为此,请将您的 JS 修改为:

    dojo.require("dijit.form.Button");
    // You need to manually require the parser if you're going to call it yourself
    dojo.require("dojo.parser");
    
    dojo.addOnLoad(function() {
        var node = dojo.byId("findMe");
        dojo.connect(dijit.byId("buttonOne"), "onClick", function() {
            dojo.fadeOut({
                node: node,
                duration: 300
            }).play();
        });
        dojo.connect(dijit.byId("buttonTwo"), "onClick", function() {
            dojo.fadeIn({
                node: node,
                duration: 300
            }).play();
        })
    
        // New line, parse the doc
        dojo.parser.parse();
    });
    

    除了解析之外,您可能还需要添加一个主题(您没有提到是否这样做过)。最简单的方法是将类名添加到你的 body 标签并导入 css。

        ...
        <link rel="stylesheet" type="text/css" href="/js/dojo-release-1.5.0/dijit/themes/claro/claro.css">
    </head>
    <body class="claro">
      ...
    </body>
    

    http://telliott.net/dojoExamples/dojo-buttonHelloWorld.html 包含一个对您有用的示例,请随意使用。

    阅读http://dojotoolkit.org/reference-guide/djConfig.html#djconfighttp://dojotoolkit.org/reference-guide/dijit/info.html#dijit-info 可能也是一个好主意。

    HTH。

    汤姆

    【讨论】:

      【解决方案2】:

      在将dojo.js添加到页面时尝试添加djConfig="parseOnLoad:true"。

      例如:

      <script type="text/javascript" language="JavaScript"  src="/js/dojo-release-1.5.0/dojo/dojo.js" djConfig="parseOnLoad:true"></script>
      

      //丹尼尔

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-22
        • 1970-01-01
        • 1970-01-01
        • 2016-05-11
        • 2011-04-09
        • 1970-01-01
        • 2019-01-14
        • 2021-07-30
        相关资源
        最近更新 更多