第1章 目标 1
A 概念回顾 1
在浏览器中处理交互 2
胖与瘦 3
JavaScript的目标 5
B 技术概览 5
标准化 6
版本 7
安全 9
C JavaScript的历史 10
错误的开始 10
事实标准 11
CSS变革 13
新的开始 14
下一步 15
第2章 大背景 17
A CSS变革 17
无侵入脚本编程 18
三个层 19
分离关注点 20
B 表现与结构的分离 21
CSS修改 21
更改结构还是表现 21
C 行为与结构的分离 22
独立文件中的函数 22
从HTML中移除事件处理程序 23
D 行为和表现的分离 24
下拉菜单:hover或mouseover/mouseout 25
相同的效果与相似的效果 26
E 可访问性概览 28
什么是可访问性 28
无脚本 29
没有鼠标 29
屏幕阅读器 29
屏幕阅读器和事件 31
可访问性和可用性 32
F 可访问性规则 32
条理分明的HTML 33
产生对脚本用户有意义的内容 33
重定向用户 35
键盘用户 36
< noscript >标签 36
G 范例脚本 37
限长的文本输入区 37
易用的表单 38
表单验证 39
下拉菜单 39
编辑样式表 40
三明治拾取器 40
XMLHTTP测速计 42
站点调查 43
第3章 浏览器 44
A 浏览器 44
Mozilla家族 44
Windows的Explorer 45
Safari 46
Opera 46
其他图形桌面浏览器 46
移动电话 47
屏幕阅读器 48
B 兼容性问题 48
问题 48
解决方案 50
C 对象检测 52
对象检测是如何工作的 53
我们该走多远 54
D 浏览器检测 55
为什么浏览器检测行不通 55
浏览器检测的军备竞赛 57
拆解浏览器字符串 58
浏览器检测的正确使用 61
E 调试 62
错误消息 62
处理浏览器的bug 65
范例 67
报告浏览器bug 69
第4章 准备 71
A HTML和CSS结构 71
HTML结构 71
CSS结构 72
B 钩子 73
id 73
class 74
自定义属性 75
名/值对 76
C 准备页面 78
设置事件处理程序 78
确定访问者状态 79
设置访问 79
产生内容 79
定义关系 80
修改文档结构 81
D < script >标签 81
语法 81
使用多个脚本 83
E 初始化 83
load事件 84
批量初始化 85
无侵入初始化 85
等待load事件 86
最佳方案 87
F 范例脚本 87
限长的文本输入区 87
易用的表单 88
表单验证 89
下拉菜单 90
编辑样式表 91
三明治拾取器 92
XMLHTTP测速计 93
站点调查 93
细节决策 94
第5章 核心 95
A 基础知识 96
区分大小写 97
语句和分号 97
注释 98
代码块:{} 99
运算符 100
值 101
B 数据类型 102
6种数据类型 102
数据类型转换 105
+号的问题 106
转换成布尔型 107
显式数据类型转换 107
C 普通运算符 108
算术运算符 108
++和-- 109
=、==和=== 109
!=、< 、>、<=和>= 111
条件运算符?: 112
D 变量 113
变量名称 113
关键字var 114
变量作用域 114
E 处理数字 116
八进制和十六进制的数字 116
Math对象 117
toFixed() 118
parseInt()和parseFloat() 118
F 与字符串打交道 119
引号 119
连接符+ 120
字符串对象 120
G 处理布尔值 123
布尔型的变量 124
布尔运算符 124
检测对象是否存在 126
布尔运算符的高级应用 127
H 控制结构 129
if语句 129
switch 132
for、while和do/while 135
break和continue 138
try/catch 140
I 函数 141
基本函数语法 141
参数 142
return 142
作为值的函数 144
内嵌函数和变量作用域 145
J 对象 147
点 148
定义对象 148
处理方法和属性 150
this关键字 151
全局对象 152
K 关联数组 152
方括号与点符号 153
关联数组 154
for in语句 155
L 数组 156
嵌套数组 157
数组表示法 157
数组的使用 158
length 158
push、pop、shift和unshift 159
第6章 BOM 161
A window对象 162
作为全局对象的window 162
新的页面,新的window对象 163
作为新全局对象的新窗口 164
窗口属性 166
B 跨浏览器通信 167
打开弹出窗口 167
指向其他窗口 168
重新建立联系 169
关闭窗口 172
弹出窗口拦截软件 173
C 导航 174
location 174
history 175
D 窗口几何学 176
screen对象 176
窗口尺寸 177
移动、改变大小和滚动窗口 177
获得焦点和失去焦点 178
E 杂项 178
navigator对象 178
alert、confirm和prompt 179
timeout与interval 180
F document对象 181
lastModified 181
referrer 182
domain 182
write() 182
open()与close() 183
G cookie 184
名/值对 185
有效期 185
域和路径 186
设置cookie 186
document.cookie 187
读取cookie 187
删除cookie 188
cookie示范用例 188
用户控制权 189
确定cookie支持 189
第7章 事件 191
A 浏览器兼容性 191
按实际情况解决 192
概览 192
B 事件 192
鼠标事件 193
键盘事件 195
接口事件 196
W3C事件 199
Microsoft事件 200
默认操作 200
事件模拟 202
C 注册事件处理器 202
行内事件处理程序 203
传统模型 203
W3C和微软的模型 206
最佳方式 208
D 事件冒泡与捕获 209
W3C模型 211
传统模型与微软模型 212
事件冒泡的实践应用 212
E 事件对象和它的属性 214
event对象 214
type 215
找到目标对象 215
鼠标的位置 215
鼠标按键 218
键盘属性 218
F 找到目标对象 219
区别 219
this 220
目标对象 222
this还是目标对象 224
G 范例脚本 227
限长的文本输入区 227
易用的表单 228
表单验证 229
下拉菜单 230
编辑样式表 231
三明治拾取器 232
XMLHTTP测速计 232
站点调查 233
H 下拉菜单、mouseout和相关的
目标对象 233
mouseover 234
mouseout及其问题 235
解决方案 236
relatedTarget、fromElement和toElement 237
第8章 DOM 238
A 概念 239
节点 239
家谱 240
创建元素 241
B 寻找元素 242
长途旅行 242
短途旅行 244
根节点 247
C 节点信息 247
nodeName 247
nodeValue 248
nodeType 248
tagName 249
D 修改文档树 249
一般规则 249
appendChild() 250
insertBefore() 251
removeChild() 252
replaceChild() 253
移除所有的子节点 254
E 创建和克隆元素 255
createElement()和
createTextNode() 255
cloneNode() 257
创建表格和表单域 259
F innerHTML 261
错误的输入,错误的输出 261
速度 262
范例 263
innerHTML与标准的DOM合作 263
innerHTML与DOM 265
G 属性 267
属性的读写 267
HTML属性和JavaScript属性 268
读写属性的最佳方式 270
H 文本节点 270
nodeValue 270
空文本节点 271
I 节点列表 273
危险 275
辅助数组 276
J 表单与0级DOM 277
0级DOM的节点列表 277
表单域 278
K DOM超空间 283
在超空间中存储元素 283
超空间和innerHTML 285
元素在超空间中 285
L 标记 286
第9章 CSS修改 288
A style属性 288
破折号 289
单位 290
获取样式 290
简写样式 291
B 更改class和id 292
增加class 294
移除class 295
C 向页面中写入CSS 295
立刻执行 297
D 更改整个样式表 298
理论 298
document.styleSheets 299
cssRules[]和rules[] 300
selectorText 300
style 301
cssText和提交样式表 301
插入和删除规则 302
E 比较 304
范例 305
F 显示和隐藏元素 305
简单的显示或隐藏脚本 306
显示和隐藏表格行 307
G 动画 309
动画原理 309
setTimeout与setInterval 310
H 元素的尺寸和位置 314
元素的尺寸 314
元素的位置 316
第10章 数据检索 319
A 发送请求 319
XMLHttpRequest对象 320
Open 321
readystatechange 322
send 323
setRequestHeader 323
sendRequest函数 324
abort 325
B 处理响应信息 325
状态 325
回调函数 326
responseText和responseXML 326
getResposneHeader 328
getAllResponseHeaders 328
C 响应格式 328
XML 328
HTML 329
JSON 330
CSV 331
最佳格式 332
D 可用性 333
HTML的可访问性 333
其他响应信息格式的可访问性 335
后记 336