dojo初始使用

dojo的头部标准写法:

<style type="text/css">
	@import "dojo-lib/dojo/resources/dojo.css";
	@import "dojo-lib/dijit/themes/tundra/tundra.css";
</style>
<script type="text/javascript" djConfig="parSEOnLoad: true,isDebug: false" src="dojo-lib/dojo/dojo.js"></script>

数组的遍历:dojo.forEach

var array=[1,2,3,4,5];
dojo.forEach(array,function(x)
{
	alert(x);
});

dojo对象的创建:dojo.declare(对象名,父类类名,{函数体})。继承直接将第二个参数设置为父类的类名即可。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<title>测试</title>
	<style type="text/css">
		@import "dojo-lib-1.9.3/dojo/resources/dojo.css";
		@import "dojo-lib-1.9.3/dijit/themes/tundra/tundra.css";
	</style>
	<script type="text/javascript" djConfig="parSEOnLoad: true,isDebug: false" src="dojo-lib-1.9.3/dojo/dojo.js"></script>
	<script type="text/javascript">
		dojo.declare("Person",null,{ 
			constructor:function(name,age)
			{ 
				this.name = name; 
				this.age=age;
			},introduce:function()
			{ 
				alert(this.name+"今年"+this.age+"岁"); 
			},}); 
		var person = new Person("许增强",22); 
		person.introduce(); 
	</script>
</head>
<body>
</body>
</html>

对象的复制:

<script type="text/javascript">
	dojo.declare("Person",{ 
		constructor:function(name,age)
		{ 
			this.name = name; 
			this.age=age;
		},introduce:function()
		{ 
			alert(this.name+"今年"+this.age+"岁"); 
		},}); 
	var person = new Person("许增强",22); 
	/*
	var copyPerson=person;   //方式1.直接复制,只是给了person另外一个名字,属于浅复制
	copyPerson.introduce();
	var copyPerson=dojo.mixin({},person); //使用dojo.mixin()实现对象的复制
	copyPerson.introduce();
	*/
	var copyPerson=dojo.clone(person); //使用dojo.clone()实现对象的复制,确保完整的创建了新对象,属于深复制
	copyPerson.introduce();
</script>

阻止事件冒泡和认事件

dojo.stopEvent(event);
//相当于同时调用了
event.stopPropagation();  //阻止事件冒泡
event.preventDefault();    //阻止认事件

关联处理函数

dojo.connect(obj,event,context,handler);
其中obj为DOM对象,event为事件名称,是一个字符串,context为可选参数,handler为事件处理函数,可以为一个函数或字符串。

dojo1.9以后的版本

新建一个dojo.html,dojo的目录结构为dojo-dojo-dojo.js,第一个dojo与dojo.html目录同级。在第一个dojo文件夹下新建一个framework文件夹,然后新建一个Person.js文件

define(["dojo/_base/declare"],function(declare){
	return declare("Person",{
		constructor:function(name,age)
		{
			this.name=name;
			this.age=age;
		},say:function()
		{
			alert("My name is "+this.name);
		}
	});
});
dojo.HTML代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<title>测试用例</title>
	<style type="text/css">
		@import "dojo/dojo/resources/dojo.css";
		@import "dojo/dijit/themes/tundra/tundra.css";
	</style>
	<script type="text/javascript" djConfig="parSEOnLoad: true,isDebug: false" src="dojo/dojo/dojo.js"></script>
</head>
<script type="text/javascript"> 
	require(["framework/Person"],function(Person)
	{
		var person=new Person("xuzengqiang",12);
		person.say();
	});	
</script>
<body class="tundra">

</body>
</html>
即可运行。

相关文章

我有一个网格,可以根据更大的树结构编辑小块数据.为了更容易...
我即将开始开发一款教育性的视频游戏.我已经决定以一种我可以...
我正在使用带有Grails2.3.9的Dojo1.9.DojoNumberTextBox小部...
1.引言鉴于个人需求的转变,本系列将记录自学arcgisapiforja...
我正在阅读使用dojo’sdeclare进行类创建的语法.描述令人困惑...
我的团队由更多的java人员和JavaScript经验丰富组成.我知道这...