随笔分类 -  Dojo

摘要:简介: MooTools是一个简洁,模块化,面向对象的开源JavaScript web应用框架。 它为web开发者提供了一个跨浏览器js解决方案。在处理js css html时候。 它提供了一个比普通js更面向对象的document API。优点:: 1.灵活,模块化的框架,用户可以选择自己需要的组件。 2.MooTools符合OO的思想,使代码更强壮,有力,有效。 3.高效的组件机制,可以和flash进行完美的交互。 4.对于DOM的扩展增强,使开发者更好的利用document组件: MooTools包含很多组件,官方网站MooTools支持你下提取自己需要的独立代码而不需要... 阅读全文
posted @ 2011-07-26 19:09 左正 阅读(521) 评论(0) 推荐(0) 编辑
摘要:说完了dojo里的类继承机制,不得不说说package机制。主要用到的有 dojo.require dojo.provide dojo.registerModulePathdojo.requiredojo.require就是引入相应路径文件下的js文件,现在已经有很多library这样做了。现在我们假设要用project/dojo-lib/dojo/string.jsdojo中的顶层目录就是dojo.js所在目录的上一层,即"project/dojo-lib/",而dojo.js放在project/dojo-lib/dojo/dojo.js 所以我们就这样:dojo.req 阅读全文
posted @ 2011-07-26 19:03 左正 阅读(421) 评论(0) 推荐(0) 编辑
摘要:下一步我们看看dojo里如何定义Class:dojo.declare("Customer",null,{ constructor:function(name){ this.name = name; }, say:function(){ alert("Hello " + this.name); }, getDiscount:function(){ alert("Discount is 1.0"); }});var customer1 = new Customer("Mark");customer1.say();dec 阅读全文
posted @ 2011-07-26 19:00 左正 阅读(271) 评论(0) 推荐(0) 编辑
摘要:既然用到了xmlhttp,一个常见的问题就是回调函数的scope/context。在prototype、mootools里我们常用Function.bind,在dojo中,做相同事情的东西叫做dojo.hitch。var handler = { name:'Mark', execute1: function(){ dojo.xhrGet({ url: "http://localhost/hello/sayHello.jsp", handleAs: "text", error: function(text) { console.dir(th 阅读全文
posted @ 2011-07-26 18:55 左正 阅读(224) 评论(0) 推荐(0) 编辑
摘要:那要是我想更换获取到的数据类型,比如json?xml?修改handleAs即可,如: handleAs: "json"dojo.xhrGet({ url: "http://localhost/hello/sayHello.jsp", handleAs: "json", load: function(json) { alert(json.name) } //...});handleAs: "json-comment-filtered" 使用注释符号/**/把json数据包含起来,推荐使用 handleAs: &quo 阅读全文
posted @ 2011-07-26 18:49 左正 阅读(420) 评论(0) 推荐(0) 编辑
摘要:OK,介绍了简单的DOM操作方法,接下来该到Ajax的传统项目-XmlHttp了。在使用xmlhttp时,需要注意到编码的问题,要让dojo默认绑定为utf-8怎么办呢?很简单,只需要修改一下引入dojo.js时的标签:<script type="text/javascript" src="./dojo-lib/dojo/dojo.js" djConfig="isDebug:true,bindEncoding:'UTF-8'"></script>多了一个djConfig属性,很简单,第一个isD 阅读全文
posted @ 2011-07-26 18:48 左正 阅读(653) 评论(0) 推荐(0) 编辑
摘要:2006年初,dojo还是0.22的时候就很关注它的发展,可一直没有在实际项目中使用。一来是由于文档的缺少,而来是dojo的相关介绍总是让人望而生畏。到现在都如此,第一个hello world就搞了一大堆东西,比如widget组件,自定义的script标签等,加上要引入什么css文件,djConfig、dojo.require等等,让人很迷惑,这么复杂,到底dojo该怎么使用呢?我只是想把dojo当作一个普通的js类库,就像prototype那样?OK,闲话少说,来看看如何使用dojo。第一步,引入dojo.jsdojo的发行包里有4个子目录,要引入的文件是名叫"dojo" 阅读全文
posted @ 2011-07-26 18:40 左正 阅读(575) 评论(0) 推荐(0) 编辑
摘要:面向对象三大特性:封装、继承、多态。在熟悉了Java/C#/C++这些高级面向对象语言的语法结构后,我们或多或少会对javascript脚本语言的面向对象感到一些不适,function、prototype、call、apply……为了消除这种对javascript面向对象语法的不适,众多js库都构建了更符合传统OO编程思想的代码框架,如prototype、mootools等等,引用mootools文档中创建对象的例子varAnimal=newClass({ initialize:function(age){ this.age=age; } }); varCat=Animal... 阅读全文
posted @ 2011-07-26 18:37 左正 阅读(298) 评论(0) 推荐(0) 编辑
摘要:Dojo是一个非常强大的面向对象的JavaScript的工具箱, 建议能够去复习一下JavaScript下如何使用OO进行编程的, 这对于你以后阅读Dojo Source有很大的用处。请下载dojo 0.3.1, 以下的说明均针对此版本1: 把Dojo加入到我们的Web程序中1.1 标志<script type="text/javascript">djConfig = { isDebug: false };</script>djConfig是Dojo里的一个全局对象, 其作用就是为Dojo提供各种选项, isDebug是最常用的属性之一, 设置为Tr 阅读全文
posted @ 2011-07-26 18:31 左正 阅读(862) 评论(0) 推荐(0) 编辑
摘要:dojo.lang.stringdojo.string.substituteParams 类似C#中的String.Format函数 %{name}要保证与传入的对象的名称大小写一致,否则会出异常 Usage Example: dojo.string.substituteParams("%{0} - %{1} - %{2}", "a", "b", "c"); //will return "a - b - c" dojo.string.substituteParams("%{name}: 阅读全文
posted @ 2011-07-26 18:24 左正 阅读(269) 评论(0) 推荐(0) 编辑
摘要:昨天凌晨时间,Dojo的Grid分页插件低调上线,对于使用dojo作为项目前端来说,是个利好消息。悲催的是这个分页插件并不在dojo 1.5 realase中。而在dojo的孵化器系列中http://archive.dojotoolkit.org/nightly。直接上例子。 js code: view sourceprint?01<script type="text/javascript"> 02dojo.require("dojox.grid.EnhancedGrid"); 03dojo.require("dojox.grid. 阅读全文
posted @ 2011-07-26 18:16 左正 阅读(563) 评论(0) 推荐(0) 编辑
摘要:网上的关于Dojo的文章很多,我从项目经历上阐述自己的一些用法、示例,仅供参考。Dojo是一个强大的面向对象JavaScript框架。主要由三大模块组成:Core、Dijit、DojoX。Core提供Ajax,events,packaging,CSS-based querying,animations,JSON等相关操作API。Dijit是一个可更换皮肤,基于模板的WEB UI控件库。DojoX包括一些创新/新颖的代码和控件:DateGrid,charts,离线应用,跨浏览器矢量绘图等。 -------获取dojo相关对象----------- 1.dojo.byId() :等同于doc... 阅读全文
posted @ 2011-07-26 18:15 左正 阅读(410) 评论(0) 推荐(0) 编辑