资源名称:Extending.jQuery—扩展jQuery

内容简介:

《扩展jQuery》分为4部分,共14章,讲解了为jQuery库创建自定义扩展的方法,从最大可重用性的角度来设计和编写插件的方法,以及为jQuery UI编写小部件和特效的方法。此外,《扩展jQuery》还讲解了另外一些关键主题,如Ajax、事件处理、动画和Validation插件等的扩展。 《扩展jQuery》适合具有一定jQuery和Javascript知识的前端开发人员阅读。

资源目录:

第1部分 简单的扩展

第1章 jQuery扩展 1

1.1 jQuery的背景 3

1.1.1 起源 4

1.1.2 发展 5

1.1.3 现状 6

1.2 扩展jQuery 7

1.2.1 开发者可以扩展什么 7

1.3 扩展的示例 10

1.3.1 jQuery UI 10

1.3.2 验证 11

1.3.3 图形幻灯片 12

1.3.4 集成谷歌地图 13

1.3.5 Cookies 13

1.3.6 颜色动画 14

1.4 总结 14

第2章 第一个插件 16

2.1 jQuery的架构 16

2.1.1 jQuery的扩展点 18

2.1.2 选择器 19

2.1.3 集合插件 19

2.1.4 工具函数 20

2.1.5 jQuery UI小部件 20

2.1.6 jQuery UI特效 20

2.1.7 动画属性 21

2.1.8 Ajax处理 21

2.1.9 事件处理 22

2.1.10 验证规则 22

2.2 一个简单的插件 22

2.2.1 占位文字 23

2.2.2 水印插件的代码 23

2.2.3 清除水印 25

2.2.4 使用水印插件 25

2.3 总结 27

第3章 选择器和过滤器 28

3.1 什么是选择器和过滤器 29

3.1.1 为什么要添加新的选择器 29

3.1.2 基本选择器 29

3.1.3 伪类选择器 31

3.2 添加一个伪类选择器 33

3.2.1 一个伪类选择器的结构 34

3.2.2 添加一个精确内容匹配选择器 35

3.2.3 添加一个内容模式匹配选择器 37

3.2.4 添加元素类型选择器 38

3.2.5 添加一个外语选择器 39

3.2.6 “验证插件”中的选择器 40

3.3 添加一个集合过滤器 41

3.3.1 一个集合选择器的结构 41

3.3.2 添加一个中间元素集合选择器 42

3.3.3 增强索引选择器 44

3.4 总结 45

第2部分 插件和函数

第4章 插件开发原则 49

4.1 插件设计 49

4.1.1 插件的好处 50

4.1.2 规划设计 50

4.1.3 插件模块化 51

4.2 指导原则 52

4.2.1 提供渐进增强 52

4.2.2 在所有地方使用唯一的名字 52

4.2.3 把一切都放在jQuery对象中 53

4.2.4 不要依赖$与jQuery的等同性 53

4.2.5 利用作用域隐藏实现细节 54

4.2.6 用“方法”调用附加功能 55

4.2.7 尽可能返回jQuery对象以便链式调用 55

4.2.8 使用data函数来存储实例详细信息 56

4.2.9 预估定制点 56

4.2.10 使用合理的默认值 57

4.2.11 允许本地化/地方化 58

4.2.12 用CSS控制插件样式 59

4.2.13 在主流浏览器中测试 61

4.2.14 创建可重复的测试用例集 61

4.2.15 提供示例和文档 62

4.3 总结 64

第5章 集合插件 65

5.1 什么是集合插件 65

5.2 一个插件框架 66

5.2.1 MaxLength插件 66

5.2.2 MaxLength插件的操作 67

5.3 定义插件 68

5.3.1 声明一个命名空间 68

5.3.2 封装 69

5.3.3 使用单例 69

5.4 附加到元素 71

5.4.1 基本的附加 71

5.4.2 插件初始化 72

5.4.3 调用方法 73

5.4.4 取值方法 74

5.5 设置选项 76

5.5.1 插件默认值 76

5.5.2 本地化/地方化 77

5.5.3 响应选项的变化 79

5.5.4 实现 MaxLength 的选项 80

5.5.5 启用和禁用小部件 82

5.6 添加事件处理器 83

5.6.1 注册一个事件处理器 83

5.6.2 触发一个事件处理器 84

5.7 添加方法 84

5.8 移除插件 85

5.9 收尾工作 86

5.9.1 插件的主要部分 86

5.9.2 设置插件样式 88

5.10 完整的插件 89

5.11 总结 91

第6章 函数插件 92

6.1 定义插件 93

6.1.1 本地化插件 93

6.1.2 框架代码 94

6.1.3 加载本地化文件 94

6.2 jQuery Cookie插件 97

6.2.1 Cookie的交互 97

6.2.2 读写cookie 98

6.3 总结 100

第7章 插件的测试、打包和文档 102

7.1 测试插件 103

7.1.1 测试什么 103

7.1.2 使用QUnit 104

7.1.3 测试MaxLength插件 105

7.1.4 测试选项的设置和获取 108

7.1.5 模拟用户动作 109

7.1.6 测试事件回调 111

7.2 打包插件 112

7.2.1 整理所有文件 112

7.2.2 最小化插件 113

7.2.3 提供一个基本示例 116

7.3 为插件编写文档 118

7.3.1 选项文档 118

7.3.2 方法和工具函数的文档 119

7.3.3 演示插件的功能 120

7.4 总结 121

第3部分 扩展jQuery UI

第8章 jQuery UI小部件 125

8.1 小部件框架 126

8.1.1 jQuery UI的模块 126

8.1.2 小部件模块 128

8.1.3 MaxLength插件 128

8.1.4 MaxLength插件的操作 129

8.2 定义小部件 130

8.2.1 声明一个名字 130

8.2.2 封装插件 131

8.2.3 声明这个小部件 131

8.3 把插件附加到一个元素 133

8.4 处理插件选项 134

8.4.1 小部件默认值 134

8.4.2 响应选项变化 135

8.4.3 实现MaxLength的选项 137

8.4.4 启用和禁用小部件 140

8.5 添加事件处理器 140

8.5.1 注册一个事件处理器 140

8.5.2 触发一个事件处理器 141

8.6 添加方法 142

8.7 移除小部件 143

8.8 收尾 145

8.8.1 小部件主体 145

8.8.2 设置小部件样式 147

8.9 完整的插件 148

8.10 总结 150

第9章 jQuery UI的鼠标交互 151

9.1 jQuery UI Mouse(鼠标)模块 151

9.1.1 鼠标拖动操作 152

9.1.2 鼠标选项 153

9.2 定义小部件 153

9.2.1 签名功能 153

9.2.2 Signature插件的操作 154

9.2.3 声明这个小部件 156

9.3 把插件附加到一个元素上 157

9.3.1 框架初始化 157

9.3.2 自定义初始化 157

9.4 处理插件选项 159

9.4.1 小部件默认值 159

9.4.2 设置选项 161

9.4.3 实现Signature选项 162

9.4.4 启用和禁用小部件 162

9.5 添加事件处理器 163

9.5.1 注册一个事件处理器 163

9.5.2 触发一个事件处理器 164

9.6 与鼠标交互 164

9.6.1 是否可以开始一个拖动 165

9.6.2 开始一个拖动 165

9.6.3 跟踪一个拖动 166

9.6.4 结束一个拖动 166

9.7 添加方法 167

9.7.1 清除签名 167

9.7.2 转换为JSON 168

9.7.3 重新绘制签名 169

9.7.4 检查签名是否存在 170

9.8 移除小部件 171

9.9 完整的插件 172

9.10 总结 173

第10章 jQuery UI特效 174

10.1 jQuery UI特效框架 175

10.1.1 Effects Core模块 175

10.1.2 公共特效函数 176

10.1.3 已有特效 178

10.2 添加一个新特效 180

10.2.1 内爆一个元素 180

10.2.2 初始化特效 181

10.2.3 实现特效 183

10.2.4 在jQuery UI 1.9之前实现特效 184

10.2.5 完整的特效 185

10.3 缓动动画 185

10.3.1 什么是缓动 185

10.3.2 已有的缓动 187

10.3.3 添加一个新缓动 189

10.4 总结 191

第4部分 其他扩展

第11章 属性的动画 195

11.1 动画框架 196

11.1.1 动画功能 196

11.1.2 步进一个动画 198

11.2 添加一个自定义属性的动画 200

11.2.1 background-position的动画 200

11.2.2 声明和获取这个属性值 201

11.2.3 更新属性值 203

11.2.4 background-position在jQuery 1.7中的动画 204

11.2.5 完整的插件 205

11.3 总结 206

第12章 扩展Ajax 207

12.1 Ajax框架 208

12.1.1 预过滤器 209

12.1.2 传输器 209

12.1.3 转换器 210

12.2 添加一个Ajax预过滤器 210

12.2.1 改变数据类型 211

12.2.2 禁用Ajax处理 211

12.3 添加一个Ajax传输器 212

12.3.1 加载图像数据 212

12.3.2 为测试模拟HTML数据 214

12.4 添加一个Ajax转换器 217

12.4.1 逗号分隔值(CSV)格式 217

12.4.2 把文本转换为CSV 218

12.4.3 把CSV转换为表格 220

12.5 Ajax插件 222

12.6 总结 222

第13章 扩展事件 224

13.1 特殊事件框架 225

13.1.1 绑定事件处理器 225

13.1.2 触发事件 226

13.2 添加一个特殊事件 227

13.2.1 添加一个右键单击事件 227

13.2.2 禁用右击事件 229

13.2.3 多个右击事件 230

13.2.4 事件的集合函数 233

13.3 增强一个已有事件 234

13.4 事件的其他功能 236

13.4.1 事件的默认动作 236

13.4.2 派发前和派发后回调 237

13.4.3 阻止事件冒泡 238

13.4.4 自动绑定和代理 238

13.5 总结 239

第14章 创建验证规则 241

14.1 Validation插件 242

14.2 添加一个验证规则 244

14.2.1 添加一个模式匹配规则 245

14.2.2 生成模式匹配规则 247

14.3 添加一个多字段验证规则 248

14.3.1 分组验证 249

14.3.2 定义一个多字段规则 249

14.4 总结 251

附录A 正则表达式 253

词汇表 261

资源截图:

Extending.jQuery—扩展jQuery