Dojo是一个开源的JavaScript库,是一个重量级的开发框架。在Dojo中,不但提供了对跨浏览器的支持,还引入了类、构造器、继承及类似于java中package的概念,这对于习惯了面向对象编程的coder来说,无疑是一个很好的选择。
Dojo由dojo、dijit、dojox三大模块组成。dojo core为框架核心,提供远程方法调用、dom及css操作。dijit是在dojo core的基础上建立的控件库,不仅包括普通的form控件,还提供了如日历、菜单、滚动条、图表等的更高级的控件。dojox是dojo的扩展包,是一个扩展特性和实验性特性库,其中有其他模块中不包括的那些特性。
使用dojo开发应用程序的首先要引入dojo库,常用的方式主要有两种:
1.从content-delivery network(CDN即内容分发网络)获取,这将从附近的客户机器上传递 Dojo JavaScript 文件,而不是从您自己的服务器上。 这不仅有助于加速脚本加载,也意味着用户从其他网站加载 Dojo 文件的机会有所增加,这使得它们从缓存中加载,进一步提高了加载速度。目前常用的有两种途径:Yandex‘s CDN和Google’s CDN,引入代码如下:
<script type="text/javascript" src="http://yandex.st/dojo/1.9.1/dojo/dojo.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/dojo/1.9.3/dojo/dojo.js"></script>
2.从自己的服务器上获取,需从http://dojotoolkit.org/download/下载dojo release库到自己的服务器,并将其解压放置在你的web项目中。
下边为一个小示例,其中dojo所在的目录为当前html文件所在目录的js文件下:
<html> <head> <title>Hello World</title> <!-- dojo.js为dojo Tookit的核心组件,使用dojo创建应用程序的第一步需先将其引入,本例使用上述的第二种方式,将dojo库引入项目根目录下的js文件夹下 --> <script type="text/JavaScript" src="js/dojo/dojo.js" djConfig="parseOnLoad: true"> </script>
<!--引入dojo所提供的样式-->
<style type="text/css"> @import "js/dijit/themes/tundra/tundra.css"; @import "js/dojo/resources/dojo.css"; </style> <script type="text/JavaScript"> dojo.require("dijit.form.select");//dojo中使用模块的概念,它与java中的package类似,使用时,需使用require引入,这与java中的import作用类似 </script> <script> function itemchange(value) { alert(s); } </script> </head> <body class="tundra">
<!--注意:这块需加入dojoType属性--> <select dojoType="dijit.form.select" onchange="itemChange(this.options[this.options.selectedIndex].value)"> <option value="valueOne">selectOne</option> <option value="valueTwo">selectTwo</option> </select> </body> </html>