精通 jQuery

精通 jQuery
编辑推荐
作为一款优秀的 JavaScript 框架,jQuery 具有表达能力强、支持一次处理多个元素、能解决不同浏览器的兼容性问题等诸多优点,从而受到广大 Web 开发人员的追捧。本书是一本全面的 jQuery 手册,详尽介绍了 jQuery 库、jQueryUI 和 jQueryMobile,能帮助具备一定 Web 开发基础知识的读者精通 jQuery。
内容简介
《图灵程序设计丛书:精通 jQuery(第 2 版)》全面介绍了 jQuery 2.0 的各项特性,主要内容包括:JavaScript 和 jQuery 的基础知识,如何使用 jQuery 核心增强 HTML5,如何使用 jQuery 创建更丰富的用户体验,如何使用富交互功能,jQuery UI 以及 jQuery Mobile 的特性。
《图灵程序设计丛书:精通 jQuery(第 2 版)》适合所有前端开发人员阅读。
作者简介
Adam Freeman,资深 IT 专家,曾在多家公司担任高级职位,退休前在一家国际银行担任 CTO 和 COO。如今的他热爱写作和跑步。除本书外,还著有《HTML5 专业指南》《精通 ASP.NET 4.5(第 5 版)》等书。
目录
第 1 章 了解 jQuery
- 1.1 jQuery UI 和 jQuery Mobile
- 1.2 jQuery 插件
- 1.3 预备知识
- 1.4 本书组织结构
- 1.4.1 第一部分:打好基础
- 1.4.2 第二部分:使用 jQuery
- 1.4.3 第三部分:数据和 Ajax
- 1.4.4 第四部分:jQuery UI
- 1.4.5 第五部分:jQuery Mobile
- 1.4.6 第六部分:高级功能
- 1.5 第 2 版的新增内容
- 1.5.1 jQuery 核心库有什么变化
- 1.5.2 jQuery UI 有什么变化
- 1.5.3 jQuery Mobile 有什么变化
- 1.5.4 其他变化
- 1.6 例子多吗
- 1.7 示例代码下载
- 1.8 所需软件
- 1.8.1 jQuery
- 1.8.2 HTML 编辑器
- 1.8.3 Web 浏览器
- 1.8.4 Web 服务器
- 1.8.5 Node.js
- 1.9 图片版权
- 1.10 小结
第 2 章 HTML 入门
- 2.1 基本的 HTML 文档
- 2.2 HTML 元素剖析
- 2.3 属性
- 2.4 元素内容
- 2.5 空元素
- 2.6 文档结构
- 2.6.1 元数据元素
- 2.6.2 内容元素
- 2.7 元素层次关系
- 2.7.1 父子关系
- 2.7.2 祖先?后代关系
- 2.7.3 兄弟关系
- 2.8 文档对象模型
- 2.8.1 使用 DOM
- 2.8.2 修改 DOM
- 2.8.3 修改样式
- 2.8.4 处理事件
- 2.9 小结
第 3 章 CSS 基础
- 3.1 上手 CSS
- 3.2 行内样式
- 3.3 内嵌样式
- 3.4 外部样式表
- 3.5 理解 CSS 选择器
- 3.5.1 属性选择器
- 3.5.2 关系选择器
- 3.5.3 伪元素和伪类选择器
- 3.5.4 联合选择器和反选择器
- 3.6 理解样式层叠
- 3.6.1 样式层叠原理
- 3.6.2 使用 important 规则微调样式应用的顺序
- 3.6.3 通过"专一程度"和顺序评估决定样式优先级
- 3.7 样式的单位
- 3.7.1 颜色
- 3.7.2 长度
- 3.8 属性速记法和自定义值
- 3.9 小结
第 4 章 JavaScript 基础
- 4.1 上手 JavaScript
- 4.2 语句
- 4.3 函数
- 4.3.1 带参数的函数
- 4.3.2 有返回值的函数
- 4.4 变量和类型
- 4.4.1 基本数据类型
- 4.4.2 生成对象
- 4.4.3 使用对象
- 4.5 JavaScript 运算符
- 4.5.1 条件语句
- 4.5.2 相等运算符和恒等运算符
- 4.5.3 显式类型转换
- 4.6 数组
- 4.6.1 数组字面量
- 4.6.2 读取和修改数组元素
- 4.6.3 枚举数组内容
- 4.6.4 数组内建方法
- 4.7 错误处理
- 4.8 比较 undefined 和 null 值
- 4.8.1 检查变量或者属性是否为 null 或 undefined
- 4.8.2 区分 null 和 undefined
- 4.9 小结
第 5 章 jQuery 基础
- 5.1 安装 jQuery
- 5.2 第一个 jQuery 脚本
- 5.3 理解 jQuery 的 $ 函数
- 5.4 等待 DOM 就绪
- 5.4.1 另一种写法
- 5.4.2 延迟 ready 事件的触发时间
- 5.5 选择元素
- 5.6 理解选择结果
- 5.6.1 确定 jQuery 对象对应的上下文对象
- 5.6.2 处理 DOM 对象
- 5.7 修改多个元素与链式方法调用
- 5.8 事件处理
- 5.9 小结
第 6 章 选择元素
- 6.1 选择更多元素
- 6.2 限制选择范围
- 6.2.1 从结果集中获取某个元素
- 6.2.2 获取元素子集
- 6.2.3 过滤元素
- 6.2.4 基于后代元素过滤结果集
- 6.3 以映射方式处理结果集
- 6.4 检测结果集
- 6.5 修改、回退结果集
- 6.6 访问 DOM
- 6.6.1 访问后代元素
- 6.6.2 访问祖先元素
- 6.6.3 访问兄弟元素
- 6.7 小结
第 7 章 操控 DOM
- 7.1 创建新元素
- 7.1.1 使用 $ 函数创建新元素
- 7.1.2 通过克隆已有元素生成新元素
- 7.1.3 使用 DOM API 创建新元素
- 7.2 添加子元素或后代元素
- 7.2.1 插入第一个子元素
- 7.2.2 把同一组元素插入到页面的不同位置
- 7.2.3 插入 jQuery 对象
- 7.2.4 使用回调函数动态插入子元素
- 7.3 封装(包裹)元素
- 7.3.1 把多个元素封装到一个元素之中
- 7.3.2 封装元素的内容
- 7.3.3 使用回调函数封装元素
- 7.4 插入兄弟元素
- 7.4.1 把 jQuery 对象中的元素插入为兄弟元素
- 7.4.2 使用回调函数动态插入兄弟元素
- 7.5 替换元素
- 7.6 删除元素
- 7.6.1 分离元素
- 7.6.2 清空元素
- 7.6.3 删除元素的父元素
- 7.7 小结
第 8 章 处理元素
- 8.1 处理元素字面属性和元素对象定义属性
- 8.1.1 设置属性值
- 8.1.2 一次设置多个属性
- 8.1.3 动态设置属性值
- 8.1.4 删除属性
- 8.1.5 使用 prop 方法
- 8.2 处理 class 属性
- 8.2.1 使用函数动态添加或删除 class
- 8.2.2 切换 class
- 8.2.3 切换多个 class
- 8.2.4 切换全部的 class
- 8.2.5 单方向切换 class
- 8.2.6 动态切换 class
- 8.3 处理 CSS 样式
- 8.3.1 获取并设置单个 CSS 值
- 8.3.2 获取多个 CSS 属性
- 8.3.3 一次设置多个 CSS 样式属性
- 8.3.4 以相对值设置样式属性
- 8.3.5 使用回调函数设置样式属性
- 8.3.6 针对具体属性的 CSS 便捷方法
- 8.4 处理元素内容
- 8.4.1 设置元素内容
- 8.4.2 使用回调函数设置元素内容
- 8.5 处理表单元素
- 8.5.1 设置表单元素的值
- 8.5.2 使用回调函数设置表单元素的值
- 8.6 为元素关联数据
- 8.7 小结
第 9 章 事件
- 9.1 事件处理
- 9.1.1 用一个函数处理多种事件
- 9.1.2 为事件处理函数提供数据
- 9.1.3 阻止事件的默认行为
- 9.1.4 撤销事件处理函数
- 9.1.5 仅执行一次事件处理函数
- 9.2 动态绑定事件处理函数
- 9.3 人工调用事件处理函数
- 9.3.1 使用 Event 对象
- 9.3.2 triggerHandler 方法
- 9.4 事件快捷方法
- 9.4.1 document 对象事件快捷方法
- 9.4.2 浏览器事件快捷方法
- 9.4.3 鼠标事件快捷方法
- 9.4.4 表单事件快捷方法
- 9.4.5 键盘事件快捷方法
- 9.5 小结
第 10 章 jQuery 特效
- 10.1 基础特效
- 10.1.1 切换元素的显示状态
- 10.1.2 单向变换
- 10.1.3 以动画方式改变元素的显示状态
- 10.1.4 使用动画回调函数
- 10.1.5 创建循环动画
- 10.2 滑动特效
- 10.3 淡入淡出特效
- 10.4 实现定制特效
- 10.4.1 使用绝对值设置动画属性
- 10.4.2 使用相对值设置动画属性
- 10.5 创建并管理动画队列
- 10.5.1 显示动画队列中的内容
- 10.5.2 停止当前动画并清理动画队列
- 10.5.3 在动画队列中插入延时
- 10.5.4 在动画队列中插入自定义函数
- 10.6 启用或者禁用动画特效
- 10.7 小结
第 11 章 重构示例页面:第一部分
- 11.1 回顾示例文档
- 11.2 添加更多的花卉产品
- 11.3 添加翻页按钮
- 11.4 处理提交按钮
- 11.5 实现翻页事件处理函数
- 11.6 计算订购产品总数
- 11.7 禁用 JavaScript
- 11.8 小结
第 12 章 数据模板
- 12.1 模板解决什么问题
- 12.2 使用模板库
- 12.3 第一个数据模板示例
- 12.3.1 定义数据
- 12.3.2 定义模板
- 12.3.3 使用模板
- 12.4 模板逻辑
- 12.4.1 依据条件生成内容
- 12.4.2 遍历数组和对象属性
- 12.4.3 改变数据上下文
- 12.5 自定义助手指令
- 12.5.1 编写条件助手指令
- 12.5.2 返回更复杂的内容
- 12.5.3 在助手指令处理函数中使用可选参数
- 12.5.4 自定义模板属性
- 12.6 小结
第 13 章 处理表单
- 13.1 准备 Node.js 服务器
- 13.2 回顾表单事件方法
- 13.2.1 处理表单焦点
- 13.2.2 处理值的变化
- 13.2.3 处理表单提交
- 13.3 验证表单数据
- 13.3.1 插件内建的检查功能
- 13.3.2 指定错误提示信息
- 13.3.3 自定义检查
- 13.3.4 定制错误提示的显示格式
- 13.3.5 使用问题摘要
- 13.4 小结
第 14 章 Ajax:第一部分
- 14.1 Ajax 快捷方法
- 14.1.1 发起 Ajax GET 请求
- 14.1.2 Ajax POST 请求
- 14.1.3 指定数据类型
- 14.2 避免最常见的 Ajax 陷阱
- 14.3 处理特定任务的快捷方法
- 14.3.1 获取 HTML 片段
- 14.3.2 获取并执行脚本
- 14.3.3 获取 JSON 数据
- 14.4 Ajax Forms 插件
- 14.5 小结
第 15 章 Ajax:第二部分
- 15.1 使用底层 API 发起简单的 Ajax 请求
- 15.2 理解 jqXHR 对象
- 15.3 设置请求 URL
- 15.4 发起 POST 请求
- 15.5 Ajax 事件
- 15.5.1 处理成功完成的请求
- 15.5.2 处理失败的请求
- 15.5.3 处理已经完成的请求
- 15.5.4 在请求发出之前配置请求
- 15.5.5 为同一事件指定多个处理函数
- 15.5.6 设置事件上下文对象
- 15.6 全局 Ajax 事件方法
- 15.7 为 Ajax 请求配置基础选项
- 15.7.1 设置请求超时选项和报头
- 15.7.2 发送 JSON 数据到服务器
- 15.8 高级配置选项
- 15.8.1 发起同步请求
- 15.8.2 忽略重复(未修改过的)数据
- 15.8.3 处理 statusCode
- 15.8.4 整理响应数据
- 15.8.5 控制数据格式转换
- 15.9 设置及过滤 Ajax 请求
- 15.9.1 定义默认选项
- 15.9.2 过滤请求
- 15.10 小结
第 16 章 重构示例页面:第二部分
- 16.1 重温重构示例
- 16.2 更新 Node.js 脚本
- 16.3 为 Ajax 做准备
- 16.4 处理产品数据来源
- 16.5 添加表单验证
- 16.6 使用 Ajax 提交表单数据
- 16.7 处理服务器响应
- 16.7.1 添加新表单
- 16.7.2 完成 Ajax 请求
- 16.7.3 处理数据
- 16.8 小结
第 17 章 安装 jQuery UI
- 17.1 获取 jQuery UI
- 17.1.1 选定一个主题
- 17.1.2 生成 jQuery UI 定制下载版本
- 17.2 安装 jQuery UI 开发版
- 17.3 把 jQuery UI 部署到生产环境
- 17.4 小结
第 18 章 按钮、进度条与滑动条组件
- 18.1 jQuery UI 按钮
- 18.1.1 配置按钮组件
- 18.1.2 在按钮上使用 jQuery UI 图标
- 18.1.3 在按钮上使用自定义图片
- 18.1.4 button 方法
- 18.1.5 按钮事件
- 18.2 创建不同类型的按钮
- 18.2.1 切换按钮
- 18.2.2 按钮组
- 18.3 jQuery UI 进度条
- 18.3.1 创建进度条
- 18.3.2 创建模糊进度
- 18.3.3 进度条方法
- 18.3.4 进度条事件
- 18.4 jQuery UI 滑动条组件
- 18.4.1 配置滑动条
- 18.4.2 滑动条组件方法
- 18.4.3 滑动条组件事件
- 18.5 小结
第 19 章 自动完成和折叠菜单组件
- 19.1 jQuery UI 自动完成组件
- 19.1.1 让输入框支持自动完成
- 19.1.2 配置自动完成组件
- 19.1.3 自动完成组件方法
- 19.1.4 自动完成组件事件
- 19.2 jQuery UI 折叠菜单组件
- 19.2.1 创建折叠菜单
- 19.2.2 配置折叠菜单组件
- 19.2.3 折叠菜单方法
- 19.2.4 折叠菜单组件事件
- 19.3 小结
第 20 章 标签组件
- 20.1 创建标签
- 20.2 使用 Ajax 获取标签内容
- 20.3 配置标签组件
- 20.3.1 选取活跃标签
- 20.3.2 禁用某些标签
- 20.3.3 改变激活标签的事件
- 20.3.4 可折叠的标签
- 20.4 标签组件方法
- 20.4.1 增加或者删除标签
- 20.4.2 触发标签的 Ajax 请求
- 20.5 标签组件事件
- 20.5.1 拦截 Ajax 请求
- 20.5.2 修改远程标签的数据
- 20.5.3 用标签显示表单
- 20.6 小结
第 21 章 日期拾取器组件
- 21.1 生成日期拾取器
- 21.2 配置日期拾取器
- 21.2.1 基本设置
- 21.2.2 管理日期选择范围
- 21.2.3 设置日期拾取器的外观
- 21.3 日期拾取器方法
- 21.3.1 使用脚本获取和设置日期
- 21.3.2 使用脚本控制弹出式日期拾取器的显示和隐藏
- 21.4 日期拾取器事件
- 21.4.1 响应月份或年份的变更
- 21.4.2 响应关闭弹出式日期拾取器事件
- 21.5 本地化日期拾取器
- 21.6 小结
第 22 章 对话框组件和微调控制组件
- 22.1 jQuery UI 对话框组件
- 22.1.1 创建对话框
- 22.1.2 配置对话框
- 22.1.3 对话框组件方法
- 22.1.4 对话框组件事件
- 22.2 jQuery UI 微调控制组件
- 22.2.1 在 HTML5 input 元素上应用微调控制组件
- 22.2.2 配置微调控制组件
- 22.2.3 微调控制组件方法
- 22.2.4 微调控制组件事件
- 22.3 小结
第 23 章 菜单组件和提示说明组件
- 23.1 jQuery UI 菜单组件
- 23.1.1 创建菜单
- 23.1.2 配置菜单组件
- 23.1.3 菜单组件的方法
- 23.1.4 菜单组件事件
- 23.2 jQuery UI 提示说明组件
- 23.2.1 创建提示说明组件
- 23.2.2 配置提示说明组件
- 23.2.3 提示说明组件的方法
- 23.2.4 提示说明组件事件
- 23.3 小结
第 24 章 使用拖放
- 24.1 创建拖曳元素
- 24.1.1 配置拖曳组件
- 24.1.2 使用 draggable 方法
- 24.1.3 使用拖曳事件
- 24.2 使用接收组件
- 24.2.1 高亮接收元素
- 24.2.2 处理遮盖元素
- 24.2.3 配置接收组件
- 24.2.4 使用 droppable 方法
- 24.3 优化拖放功能
- 24.3.1 scope 选项
- 24.3.2 使用辅助元素
- 24.3.3 “吸附"到元素边界
- 24.4 小结
第 25 章 其他组件
- 25.1 使用 sortable 组件
- 25.1.1 获取排序之后的新顺序
- 25.1.2 配置 sortable 组件
- 25.1.3 使用 sortable 方法
- 25.1.4 sortable 事件
- 25.2 selectable 组件
- 25.2.1 配置 selectable 组件
- 25.2.2 使用 selectable 方法
- 25.2.3 selectable 组件事件
- 25.3 resizable 组件
- 25.4 小结
第 26 章 重构示例页面:第三部分
- 26.1 回顾重构示例
- 26.2 展示商品
- 26.3 添加购物车
- 26.3.1 增加一个 div 元素包住折叠菜单
- 26.3.2 添加表格
- 26.3.3 输入值变更
- 26.4 装饰:应用主题样式
- 26.4.1 为更多元素应用框架样式
- 26.4.2 为表格增加圆角效果
- 26.5 生成 jQuery UI 按钮
- 26.6 添加完成购买对话框
- 26.7 处理下单按钮的单击事件
- 26.8 完成订单
- 26.9 小结
第 27 章 jQuery Mobile 入门
- 27.1 安装 jQuery Mobile
- 27.1.1 下载 jQuery Mobile
- 27.1.2 安装 jQuery Mobile
- 27.2 jQuery Mobile 工作原理
- 27.2.1 自动增强技术
- 27.2.2 视口
- 27.2.3 jQuery Mobile 事件
- 27.2.4 响应设备手持方向的变化
- 27.3 处理移动设备
- 27.3.1 在移动开发时应该避免的两大"陷阱”
- 27.3.2 避免错误的假设
- 27.3.3 避免不切实际的仿真和测试
- 27.3.4 移动浏览器仿真器
- 27.4 小结
第 28 章 页、主题及布局
- 28.1 什么是 jQuery Mobile 页
- 28.1.1 为一个页添加页头和页脚
- 28.1.2 在页面文件中添加页
- 28.1.3 链接其他页面文件
- 28.2 使用脚本控制 jQuery Mobile 页
- 28.2.1 改变当前页
- 28.2.2 当前页是哪个
- 28.2.3 后台载入页
- 28.3 与页相关的事件
- 28.3.1 页面初始化事件
- 28.3.2 页面加载事件
- 28.3.3 响应页面切换
- 28.4 使用 jQuery Mobile 主题
- 28.5 创建网格布局
- 28.6 小结
第 29 章 对话框与弹窗组件
- 29.1 jQuery Mobile 对话框组件
- 29.1.1 创建对话框组件
- 29.1.2 配置对话框组件
- 29.1.3 对话框组件方法
- 29.1.4 对话框组件事件
- 29.2 jQuery Mobile 弹窗组件
- 29.2.1 创建弹窗
- 29.2.2 配置弹窗
- 29.2.3 弹窗组件的方法
- 29.2.4 弹窗组件事件
- 29.3 小结
第 30 章 按钮和折叠块组件
- 30.1 jQuery Mobile 按钮
- 30.1.1 生成按钮
- 30.1.2 配置 jQuery Mobile 按钮组件
- 30.1.3 按钮组件的方法
- 30.1.4 按钮事件
- 30.2 jQuery Mobile 导航栏组件
- 30.2.1 配置 jQuery Mobile 导航栏组件
- 30.2.2 导航栏组件支持的方法和事件
- 30.3 折叠块组件
- 30.3.1 生成折叠块
- 30.3.2 配置 jQuery Mobile 折叠块组件
- 30.3.3 折叠块组件的方法
- 30.3.4 折叠块事件
- 30.4 jQuery Mobile 折叠菜单
- 30.4.1 配置折叠菜单
- 30.4.2 折叠菜单的方法
- 30.4.3 折叠菜单事件
- 30.5 小结
第 31 章 jQuery Mobile 表单
- 31.1 创建表单元素组件
- 31.2 文本输入组件
- 31.2.1 配置文本输入组件
- 31.2.2 文本输入组件方法
- 31.2.3 文本输入组件事件
- 31.3 滑动选择器组件和范围选择器组件
- 31.3.1 配置滑动选择器组件和范围选择器组件
- 31.3.2 滑动选择器与范围选择器支持的方法
- 31.3.3 滑动选择器事件
- 31.3.4 范围选择器组件事件
- 31.4 选择菜单组件
- 31.4.1 配置选择菜单组件
- 31.4.2 选择菜单组件的方法
- 31.4.3 选择菜单组件事件
- 31.5 轻触开关组件
- 31.6 复选框和单选钮组件
- 31.6.1 创建复选框
- 31.6.2 创建并格式化单选钮
- 31.6.3 配置复选框和单选钮组件
- 31.6.4 复选框和单选钮组件方法
- 31.6.5 复选框和单选钮组件事件
- 31.7 小结
第 32 章 列表组件与面板组件
- 32.1 列表组件
- 32.1.1 配置列表组件
- 32.1.2 列表组件方法
- 32.1.3 列表组件事件
- 32.2 面板组件
- 32.2.1 配置面板组件
- 32.2.2 面板组件方法
- 32.2.3 面板组件事件
- 32.3 小结
第 33 章 重构移动版示例:第四部分
- 33.1 从基础开始
- 33.2 用程序添加花卉产品
- 33.3 生成购物车
- 33.3.1 增加修改数量功能
- 33.3.2 在商品详情页添加购买按钮
- 33.4 实现支付
- 33.5 小结
第 34 章 jQuery 实用方法
- 34.1 再访队列:使用常规队列
- 34.2 数组实用方法
- 34.2.1 使用 grep 方法
- 34.2.2 使用 inArray 方法
- 34.2.3 使用 map 方法
- 34.2.4 使用 merge 方法
- 34.2.5 使用 unique 方法
- 34.3 数据类型实用方法
- 34.4 数据有关实用方法
- 34.4.1 序列化表单数据
- 34.4.2 解析数据
- 34.4.3 去除字符串首尾空白
- 34.5 其他实用方法
- 34.6 小结
第 35 章 jQuery UI 特效及 CSS 框架
- 35.1 使用 jQuery UI 特效
- 35.1.1 让颜色变化支持动画
- 35.1.2 让切换类样式支持动画
- 35.1.3 jQuery UI 动画
- 35.2 使用 jQuery UI CSS 框架
- 35.2.1 组件容器样式
- 35.2.2 圆角样式
- 35.2.3 交互状态样式
- 35.2.4 提示信息样式
- 35.3 小结
第 36 章 延迟对象
- 36.1 延迟对象第一例
- 36.2 其他回调
- 36.2.1 通知延迟对象任务失败
- 36.2.2 覆盖两个出口(任务成功和任务失败)
- 36.2.3 与出口关的回调函数
- 36.3 使用多个回调函数
- 36.4 利用多个延迟对象的出口
- 36.5 提供进度信息
- 36.6 获取延迟对象的状态
- 36.7 Ajax 延迟对象
- 36.8 小结