Dojo向Web开发者和设计者提供了一个强大的JavaScript工具集用以快速开发健壮的Ajax应用。本书是第一本完整的、具有丰富示例的Dojo开发指南,同时还介绍了Dojo Widget。Dojo基金会(即Dojo的创建者们)审阅了本书,你可以从书中找到开发指南和大量经过测试的代码示例。
Web开发专家James E. Harmon在书中首先介绍了如何使用Dojo“Ajax化”现有的应用和页面,如何快速增加一些Ajax特性且不打断用户的操作,如客户端和服务器端验证。接下来,本书深入讲解了Dojo的用户界面、表单、布局和专门的Widget,展示其工作方式并探讨如何最有效地利用这些特性。本书详细地介绍了Widget,如日期选择器、富文本编辑器、组合框及可扩展的视图等。
最后,Harmon介绍了Dojo Toolkit用以简化Ajax开发的强大功能。他详细地介绍了Dojo的辅助功能、快捷方式及特殊方法,在介绍每个特性时展示了它所能解决的JavaScript的问题。这一部分内容涵盖了字符串、JSON、事件处理、Ajax Remoting、Dojo与DOM、测试及调试,等等。你可以从本书的Web站点http://www.Object TrainingGroup.com/dojobook下载所有的代码示例,包括完整教程示例的源代码。
封面图
目录
- 译者序
- 序
- 第一部分Dojo教程
- 第1章理解Dojo:教程
- 11教程简介
- 111本教程的目标
- 112使用Dojo的目的
- 12一个标准的HTML数据输入表单
- 121First与Last Name
- 122用户名
- 123Email地址
- 124地址
- 125州
- 126城市
- 127邮政编码
- 128服务日期
- 129评论
- 13改进表单的计划
- 131在表单中引入Dojo
- 132增加客户端验证
- 133增加服务器端特性
- 134使用专门的Dojo widget
- 135处理表单
- 14获取并运行源代码
- 15教程步骤1——引入Dojo
- 151下载或是创建源文件
- 152引入DojoToolkit
- 153引入Dojo样式表
- 154回顾所有的代码变化
- 155运行新页面
- 第2章使用Dojo进行客户端验证
- 21验证表单字段
- 22教程步骤2——增加客户端验证
- 221验证First Name字段
- 222验证Last Name字段
- 223验证用户名字段
- 224验证Email地址字段
- 225验证地址字段
- 226验证城市字段
- 227验证邮编字段
- 第3章使用Dojo与服务器端
- 协同工作
- 31增加服务器端特性
- 32教程步骤3a——增加服务器端验证
- 321指定事件处理函数
- 322对服务器端进行调用
- 33教程步骤3b——从服务器端接收
- 数据
- 331为城市字段选择恰当的Widget
- 332获得州的值并将其发送到
- 服务器端
- 第4章使用Dojo Widget
- 41将Dojo widget增加到页面中
- Dijit——Dojo Widget模块
- 42教程步骤4——使用Dojo Widget
- 421使用Dojo DateTextBox Widget
- 422使用Dojo富文本编辑器Widget
- 第5章使用Dojo处理表单
- 51使用Dojo处理表单
- 52教程步骤5——处理表单
- 521创建Dojo Form Widget
- 522对表单提交进行拦截
- 523检查表单中所有元素的合法性
- 524将表单提交到服务器端
- 第二部分Dojo Widget
- 第6章Dojo Widget简介
- 61Widget是什么
- 62Dojo Widget是什么
- 63构成Dojo Widget的组件
- 631Widget HTML
- 632Widget样式
- 633Widget的JavaScript组件
- 634Dojo Widget的继承
- 635Dojo Widget概览
- 636构建自己的Widget
- 第7章Dojo Form Widget
- 71标准的Form和Dojo Form Widget
- dijitform_FormWidget类
- 72详解Dojo Form Widget
- 第8章Dojo Layout Widget
- 81理解页面布局
- dijitlayout_LayoutWidget类
- 82Dojo Layout Widget简介
- 第9章其他专门的Dojo Widget
- 91什么是专门的widget
- 92Menu Widget
- 921dijitMenu
- 922dijitMenuItem
- 923dijitMenuSeparator
- 924dijitPopupMenuItem
- 第三部分Dojo详解
- 第10章Dojo是什么
- 101JavaScript和AJAX的历史
- 102Dojo的历史
- 103Dojo的目标
- 104Dojo简介
- 105Dojo解决了哪些问题
- 106谁应该使用Dojo
- 107协议
- 108竞争者和替代者
- 109Dojo的未来
- 第11章Dojo的技术描述
- 111Dojo下载包中有什么
- 112Dojo源代码的组织
- 1121顶层目录
- 1122深入Dojo目录
- 113Dojo模块和特性
- 1131命名约定和命名空间
- 1132DojoBase模块
- 1133Dojo核心模块
- 第12章对象与类
- 121对象探究
- 1211创建对象
- 1212封装
- 1213对象模板
- 1214JavaScript的原型
- 122使用Dojo处理对象
- Dojo函数:dojodeclare
- 123定义类
- 1231父类和继承
- 1232dojodeclare的API
- 1233Dojo的其他函数
- 1234对象图和“”符号
- 第13章String与JSON
- 131文本字符串
- 1311Dojo函数:dojostringpad
- 1312dojostringpad使用示例
- 1313Dojo函数:dojostring
- substitute
- 1314dojostringsubstitute使用
- 示例
- 132JSON
- 1321Dojo函数dojotoJson
- 1322dojotoJson使用示例
- 1323Dojo函数:dojofromJson
- 第14章事件与事件处理
- 141事件模型简介
- 1411什么是事件
- 1412额外的Dojo事件
- 142定义并指定事件处理器
- 1421使用dojoconnect指定事件
- 处理器
- 1422指定事件处理器示例
- 143将事件表示为对象
- 144在Dojo中使用面向方面的编程
- 第15章Ajax Remoting
- 151Remoting
- 152XMLHttpRequest回顾
- 153dojoxhrGet函数
- 参数详解
- 154dojoxhrPost
- 使用示例——错误处理
- 155处理表单
- 1551Dojo函数dojoformToObject
- 1552Dojo函数dojoobjectToQuery
- 1553Dojo函数dojoformToQuery
- 1554Dojo函数dojoformToJson
- 1555Dojo函数dojoqueryToObject
- 第16章处理DOM
- 161DOM抽丝剥茧
- 162Dojo查询
- 1621CSS选择器
- 1622在dojoquery中使用选择器
- 1623使用dojoquery找到的DOM
- 元素
- 163动画
- 1631理解动画
- 1632Dojo动画函数
- 1633标准的动画效果
- 第17章测试与调试
- 171测试
- 1711单元测试
- 1712DOH——Dojo单元测试框架
- 1713其他类型的测试
- 172日志
- 1721基本日志
- 1722高级日志