dojo 1.8:在dojo / on上创建小部件和启动

时间:2013-01-30 06:04:16

标签: dojo

您好我正在寻找基于Dojo 1.8的教程。 我正在寻找的是: - 在dojo页面完全加载和解析之后,在dojo / on按钮之后触发,实际创建和实例化widget。我不确定Dojo网站上的哪个教程,供我学习。

请指教。 提前致谢。  克莱门特

1 个答案:

答案 0 :(得分:0)

没有一个教程可以完全回答您的所有问题,但以下内容会有所帮助:

要捕获页面的完整加载和解析,您需要使用dojo/readydojo/parser的组合。 (我假设您引用的解析是dojo小部件解析器,而不是HTML的标准浏览器解析。)

要在解析后运行代码,您需要将 parseOnLoad:false 添加到dojoConfig并手动运行解析器;否则,在完成时无法捕获。

<script type="text/javascript" async="true">
    require([
        "dojo/ready",
        "dojo/parser",
        "dojo/on,
        "dojo/query"
    ], function(
        ready, parser, on, $
    ){
        ready(function(){
            // Only run after the page is fully loaded
            parser.parse().then(function(instances){
                // Only run after parser has parsed the page

                var myButton = $("#myButtonid");  // Find your button
                if(myButton.length > 0){ // Check button is found
                    on(myButton[0], "click", function(evt){

                        // ... add your code here to create and
                        //    instantiate widget 

                    });
                }
            });
        });
    }
</script>

不要忘记你需要关闭你dojoConfig中小部件的自动解析,因此,这样的事情(在头脑中):

<script type="text/javascript">
    dojoConfig= {
        "parseOnLoad": false,
        "async": true
        // ...other settings
    };
</script>