序 1
第1章 引言 1
1.1关于时间 1
1.2本书的内容及组织结构 3
1.3致谢 4
第1部分Prototype 7
第2章 探究Prototype 9
2.1到底什么是Prototype 9
2.2如何在项目中使用Prototype 10
2.3在使用Prototype时,JavaScript看起来会是什么样子 10
2.4 Prototype术语和概念 25
2.5那么Prototypes究竟是什么 27
2.6运行本书中的Prototype代码实例 29
第3章 带有$的快速帮助 31
3.1快捷方式应该简短 31
3.2使用$快速获取巧妙的元素 31
3.3 $w,因为数组直接量很烦人 33
3.4$$,使用样式进行查找 34
3.5 $A,集合统一器 36
3.6 $F,表单域专家 38
3.7 $H,生成事物的Hash 39
3.8使用$R处理范围 39
第4章 常规的JavaScript打了激素 41
4.1普通对象的操作 41
4.2正确的函数绑定 47
4.3您的函数实际上知道更多技巧 51
4.4数值 54
4.5字符串 57
4.6数组 64
4.7全能的JSON支持 70
第5章 具有Enumerable的高级集合 77
5.1核心方法:使用each遍历 77
5.2获得集合的综合信息 80
5.3查找元素,提供过滤 82
5.4对元素进行分组,把集合拼接起来 84
5.5计算衍生的集合和值 88
5.6现在排序:获取极值,使用定制的整理 91
5.7把集合转换为数组或调试字符串 93
5.8 Enumerable实际上是个模块 93
第6章 统一的事件处理 97
6.1事件 97
6.2事件名人堂 114
6.3响应表单相关的内容变化 116
第7章 和DOM打交道最终是个乐趣 119
7.1扩展DOM元素 119
7.2 Element,您最好的新朋友 121
7.3选择器 156
7.4调试DOM相关的代码 157
第8章 表单管理 163
8.1为了更好的用户界面 163
8.2查找表单域 167
8.3通过Ajax提交表单 168
8.4密切监视表单和域 173
第9章 Ajax从来没有这么简单过 177
9.1在我们开始之前 177
9.2上路了:Ajax.Request 183
9.3流水作业:Ajax.Updater 198
9.4轮循检测:Ajax.PeriodicalUpdater 205
9.5监测Ajax活动:Ajax.Responders 209
9.6调试Ajax 209
9.7 Ajax有危险么?可访问性及效率的考虑 210
第10章 更多有用的帮助对象 215
10.1把值存放到Hash中 215
10.2表达任何事物的范围 220
10.3无重入风险的周期性执行 221
10.4用模板制造很简单 223
10.5检查当前的浏览器和Prototype库 226
第11章 性能考虑 231
11.1元素扩展和$函数 231
11.2迭代vs.普通循环 232
11.3废弃的事件处理器 233
11.4您需要知道的新的速度提升 233
11.5简练就是漂亮 234
第12章 结尾 235
12.1构建一个奇特的任务列表 235
12.2构建基础工作 236
12.3它只需要40行JavaScript代码 238
第Ⅱ部分script.aculo.us 243
第13章 探究script.aculo.us 245
13.1 script.aculo.us的模块 245
13.2在页面中使用script.aculo.us 247
第14章 视觉效果 249
14.1那些效果是什么,为什么要使用它们 249
14.2核心效果 251
14.3深入效果 257
14.4组合效果 261
14.5释放酷因子:效果队列 264
14.6效果助手 266
14.7如何创建我们自己的效果 268
第15章 拖放 275
15.1四处拖动物件 275
15.2控制如何开始,到哪里去,以及如何结束 281
15.3影像 289
15.4拖曳和滚动 290
15.5监控拖曳 293
15.6放置物件 293
15.7定制拖曳行为 294
15.8使用拖放进行排列 299
15.9公共的缺陷 311
第16章 自动完成 315
16.1基础 315
16.2本地的自动完成 317
16.3获得Ajax化 322
16.4使用“富-标记”选择 326
16.5自动完成一域多值 327
16.6使用回调响应完成 331
第17章 用简单的方法构建DOM片段:Builder 335
17.1显式构建 336
17.2使用一个(X)HTML表示 339
第18章 In-Place编辑 341
18.1确切地说什么是In-Place编辑 341
18.2一个简单的例子 344
18.3如何处理Ajax持续化 346
18.4定制外观 347
18.5处理多行 356
18.6编辑替换的文本 356
18.7禁止使用In-Place编辑 359
18.8提供一个值列表来替代文本输入 360
第19章 滑动条 365
19.1创建一个简单的滑动条 366
19.2定制基础 368
19.3限制范围或允许的值 370
19.4调整现成的滑动条,为其添加控件 373
19.5定义多个值 373
第20章 声音不需要Flash 379
20.1它在什么地方工作 379
20.2如何播放声音 380
20.3在多个轨道上播放多个声音 380
附录A 扩展和贡献 385
A.1进行构建:类、继承,以及DOM扩展 385
A.2贡献 392
附录B 更多阅读材料 405
B.1官方网站 405
B.2核心成员撰写的有用的博客 405
B.3 JavaScript大师 406
B.4 Ajax社区和新站点 407
B.5 ECMAScript相关 407
B.6参考书目 407
附录C 安装和使用Ruby 409
C.1在Windows上 410
C.2在Linux上 410
C.3在Mac OS X上 411
C.4运行Ruby脚本 411
C.5“但是我对Ruby一无所知!” 412
索引 413