阿木申 申楠

热衷编程技术 | 申楠 : qq:38371354 | msn:amushen2005@hotmail.com

导航

[dojo转]动态生成widget

Posted on 2007-07-03 13:48  阿木申  阅读(630)  评论(1编辑  收藏  举报

应该算是比较常用的例子。摘自官方网站

 1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 2<html>
 3    <head>
 4        <title>Non-markup widgets via createWidget</title>
 5        <script type="text/javascript">
 6            var djConfig = { isDebug: true };
 7        
</script>
 8        <script type="text/javascript" src="../../dojo.js"></script>
 9        <script type="text/javascript">
10            dojo.require("dojo.string.*");
11            dojo.require("dojo.widget.Button");
12
13            //
14            // Normal tests
15            //
16            dojo.addOnLoad(function() {
17                var w;
18                w = dojo.widget.createWidget("dojo:Button"{ caption: "Created as dojo:Button" });
19                dojo.byId("vanilla").appendChild(w.domNode);
20                w = dojo.widget.createWidget("Button"{ caption: "Created as Button" });
21                dojo.byId("vanilla").appendChild(w.domNode);
22                
23                // Cannot create components via createWidget
24                //var w = dojo.widget.createWidget("dojo:foo");
25            }
);
26
27            //
28            // Test auto-load
29            //    
30            dojo.registerModulePath("acme""tests/widget/acme");
31            dojo.registerNamespace("acme""acme.widget"
32                function(name)
33                        return "acme."+dojo.string.capitalize(name);
34            }
);
35            
36            dojo.addOnLoad(function() {
37                var w = dojo.widget.createWidget("acme:Button"{ caption: "Created with auto-require as acme:Button" });
38                dojo.byId("al").appendChild(w.domNode);
39            }
);
40
41            //
42            // Test passing a dom node as the first argument to createWidget()
43            //
44
45        
</script>
46    </head>
47    <body>
48        <h1>Test createWidget()</h1>
49        <div id="vanilla"></div>
50
51        <h1>Test createWidget()/auto-loading</h1>
52        <p>
53            This tests the ability for createWidget() to automatically load the code for a widget,
54            even though the user hasn't done a dojo.require() for the widget.
55        </p>
56        <div id="al"></div>
57    </body>
58</html>
59