JavaScript DHTML/Dojo toolkit/dojo basics
Содержание
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>