JavaScript Tutorial/Dojo toolkit/dojo basics

Материал из Web эксперт
Перейти к: навигация, поиск

Add DOM event to a tag

<html>
  <head>
    <link rel="StyleSheet" type="text/css"
      href="js/dojo/dijit/themes/tundra/tundra.css">
      
    <script type="text/javascript">
      var djConfig = {
        baseScriptUri : "js/dojo/",
        parseOnLoad : true
      };
    </script>
    <script type="text/javascript" src="js/dojo/dojo/dojo.js"></script>
    <script>
            dojo.require("dojo.parser");
            dojo.require("dijit.form.Button");
            dojo.addOnLoad(function(  ) {
                dojo.connect(dojo.byId("foo"), "onclick", function(evt) {
                    alert("connect fired for DOM Node onclick");
                });
                dojo.connect(dijit.byId("foo"), "onClick", function(evt) {
                    alert("connect fired for dijit onClick");
                });
            });
    </script>
  </head>
  <body class="tundra">
       <button id="foo" dojoType="dijit.form.Button" onclick="foo">click me
            <script type="dojo/method" event="onClick" args="evt">
                alert("Button fired onClick");
            </script>
        </button>
</body>
</html>


A html page structure for using dojo

<html>
  <head>
    <link rel="StyleSheet" type="text/css"
      href="js/dojo/dijit/themes/tundra/tundra.css">
    <script type="text/javascript">
      var djConfig = {
        baseScriptUri : "js/dojo/",
        parseOnLoad : true
      };
    </script>
    <script type="text/javascript" src="js/dojo/dojo/dojo.js"></script>
    <script>
        dojo.require("dojo.parser");
        dojo.require("dijit.form.Button");
        dojo.require("dijit.Menu");
        function call_function(choice) {
           alert(choice);
        }
        function save_function() {
           alert("Save");
        }
        function save_as_function(choice) {
           alert("Save As");
        }
    </script>
  </head>
  <body class="tundra">
        <div dojoType="dijit.form.DropDownButton">
            <span>Edit</span>
            <div dojoType="dijit.Menu" id="Edit">
                <div dojoType="dijit.MenuItem" label="Copy" onclick="call_function("copy");"></div>
                <div dojoType="dijit.MenuItem" label="Cut"  onclick="call_function("cut");"></div>
                <div dojoType="dijit.MenuItem" label="Paste" onclick="call_function("paste");"></div>
            </div>
        </div>
  </body>
</html>


Customized function loader

<html>
  <head>
    <script type="text/javascript">
      var djConfig = {
        baseScriptUri : "js/dojo/"
      };
    </script>
    <script type="text/javascript" src="js/dojo/dojo/dojo.js"></script>
    <script language="JavaScript" type="text/javascript">
      dojo.registerModulePath("dojo.wbex", "../../..");
      dojo.require("dojo.wbex.myFunc");
      dojo.wbex.myFunc();
    </script>
  </head>
  <body></body>
</html>


dojo method event

<html>
  <head>
    <link rel="StyleSheet" type="text/css"
      href="js/dojo/dijit/themes/tundra/tundra.css">
      
    <script type="text/javascript">
      var djConfig = {
        baseScriptUri : "js/dojo/",
        parseOnLoad : true
      };
    </script>
    <script type="text/javascript" src="js/dojo/dojo/dojo.js"></script>
    <script>
            dojo.require("dojo.parser");
            dojo.require("dijit.form.Button");
            dojo.addOnLoad(function(  ) {
                dojo.connect(dojo.byId("foo"), "onclick", function(evt) {
                    alert("connect fired for DOM Node onclick");
                });
                dojo.connect(dijit.byId("foo"), "onClick", function(evt) {
                    alert("connect fired for dijit onClick");
                });
            });
    </script>
  </head>
  <body class="tundra">
       <button id="foo" dojoType="dijit.form.Button" onclick="foo">click me
            <script type="dojo/method" event="onClick" args="evt">
                alert("Button fired onClick");
            </script>
        </button>
</body>
</html>


Use dojo.require() to load modules

<html>
  <head>
    <link rel="StyleSheet" type="text/css"
      href="js/dojo/dijit/themes/tundra/tundra.css">
    <script type="text/javascript">
      var djConfig = {
        baseScriptUri : "js/dojo/",
        parseOnLoad : true
      };
    </script>
    <script type="text/javascript" src="js/dojo/dojo/dojo.js"></script>
    <script>
        dojo.require("dojo.parser");
        dojo.require("dijit.form.Button");
        dojo.require("dijit.Menu");
        function call_function(choice) {
           alert(choice);
        }
        function save_function() {
           alert("Save");
        }
        function save_as_function(choice) {
           alert("Save As");
        }
    </script>
  </head>
  <body class="tundra">
        <div dojoType="dijit.form.DropDownButton">
            <span>Edit</span>
            <div dojoType="dijit.Menu" id="Edit">
                <div dojoType="dijit.MenuItem" label="Copy" onclick="call_function("copy");"></div>
                <div dojoType="dijit.MenuItem" label="Cut"  onclick="call_function("cut");"></div>
                <div dojoType="dijit.MenuItem" label="Paste" onclick="call_function("paste");"></div>
            </div>
        </div>
  </body>
</html>