JavaScript DHTML/Dojo toolkit/dojo basics

Материал из Web эксперт
Версия от 07:20, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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>