关于本书
以少成多。.
平常和简单,是本书的宗旨:帮助你学会以较少的脚本在Web应用页面上做更多的事情。本书的两位作者,一位是jQuery贡献者和传道者,另一位是满怀希望和热情的用户,都确信jQuery正是能够帮你达到目的,是当今最好的库。
本书旨在帮助你利用jQuery快速地起步和有力地奔跑,并且希望你一路上享受到快乐。本书会讨论全部的核心jQuery API,以简单易懂的语法块形式呈现每个API方法,描述方法的参数和返回值。书中还加入了有效地使用API的小示例;并且对于“大概念”,提供了我们称为“实验室页面”的材料。这些综合而有趣的实验室页面有助于你理解jQuery方法在运行中的细微差别,你就不必亲自去写一大堆代码了。
所有的示例代码和实验室页面都可以从http://www.manning.com/bibeault下载 。
我们可以喋喋不休地说一些营销话语告诉你本书有多好,但你不想浪费时间去读,对吧?你真正想要的是伸臂探宝,不是吗?
是什么使你踌躇不前? 请往下阅读!
读者
本书适合广大的开发人员,从初学者到高级Web开发者,如果他们想要在页面上自如地运用JavaScript,写出很棒的、交互式的富因特网应用(Rich Internet Application),而不必为了实现这种应用从零开始写出所有必需的客户端代码。
所有Web开发者都渴望借助jQuery带来的力量,开发出令用户满意的Web应用,他们将会从本书受益。
尽管Web开发新手也许会发现某些部分有点复杂,但不应因此而停止钻研本书的步伐。我们准备了有关JavaScript基本概念的附录,帮你充分发掘jQuery的潜力,只要理解了几个关键概念,读者将会发现jQuery库是利于新手上手的——这一切都不牺牲提供给高级Web开发者的力量。
不管是新手还是老手,客户端程序员如果学会把jQuery加入开发工具箱里,都将大受裨益。我们确信本书的内容将帮助你快速掌握这门学问。
路线图
本书的组织有助于你以快速的、高效的方式消化吸收jQuery的知识。开头介绍jQuery的设计思想,然后快速前行到jQuery API的基本概念。随后领你通过不同区域,了解jQuery如何能帮助你写出极好的客户端代码,从事件处理一直到向服务器发起Ajax请求。最后,我们会概览最流行的jQuery扩展。
第1章介绍jQuery背后的原理,以及它如何遵循一些现代编码原则,例如,不唐突的JavaScript。我们探讨采用jQuery的理由,纵览一下它如何运作,同时了解一些主要概念,如文档就绪处理程序、实用工具函数、DOM(文档对象模型)元素创建,以及jQuery扩展的创建。
第2章介绍jQuery包装集(wrapped set)的概念——jQuery正是围绕这个核心概念运作的。我们探讨如何利用丰富强大的jQuery选择器,从页面文档中选择元素创建包装集(将被操作的DOM元素集合)。我们会看到这些选择器尽管功能强大,但还是会巧妙利用标准CSS表示法等我们已有的知识。
第3章研究如何利用jQuery包装集来操作页面DOM。内容涵盖改变元素的样式和特性、设置元素内容、往各处移动元素以及处理表单元素。
第4章展示如何利用jQuery大幅度地简化页面上的事件处理。毕竟,正是处理用户事件使得富因特网应用成为可能。那些不得不跨越不同浏览器实现而应对事件处理程序复杂性的人,一定会感激jQuery带来的简易性。
第5章的主题是动画与特效。这一章将探讨jQuery如何使得创建动画效果不仅没有痛苦,而且效率很高,充满乐趣。
第6章学习实用工具函数和jQuery提供的标志。这章内容不仅适合页面作者, 也适合为jQuery编写扩展和插件的人。
.第7章说明编写扩展和插件的过程。我们将学习jQuery如何使不懂得JavaScript或jQuery复杂知识的人也能格外轻松地编写扩展,同时了解为什么可以把任何可重用代码写成jQuery扩展。
第8章关注在富因特网应用开发中一个最重要的问题:发起Ajax请求。看jQuery如何使人们不用费脑筋就能在页面上利用Ajax,以及如何帮助我们避免在页面上使用Ajax带来的问题,与此同时大幅度地简化最常用的Ajax交互(比如返回JSON构造)。
第9章概括描述最流行、最强大的众多jQuery插件,确保我们知道如何查找更多有关插件的信息。同时这一章会研究能够处理表单和Ajax请求的、比核心jQuery更强大的插件,还有能够在页面上实现拖放的插件。
附录主要写给那些想要进修JavaScript概念的人。附录强调JavaScript的重要概念,如函数上下文、闭包等,理解这些概念对在页面上最有效地利用jQuery至关重要。
代码约定
所有在代码清单或正文中的代码采用像这样(like this)的字体,以便和普通文本相区分。正文中的方法和函数的名称及属性、XML元素以及特性也用同样的字体表示。
在某些情况下为了适应本书的版面宽度,重新排版了原始源代码。总地来说,在编写原始代码时我们留意了页宽限制,但有时你会发现代码清单中的代码和从网站下载的代码存在格式上的细微差别。在少数情况下,长代码行如果重新格式化就会改变其含义,此时书中的代码清单会采用续行记号( )。
为了突出重要概念,许多代码清单附加了代码注释。在很多情况下,使用带圈的编号与随后正文中的解释(也有带圈数字)一一对应。
代码下载
本书所有示例的源代码(还有一些在书中没有出现的附加代码)都可以从http://www. manning.com/jQueryinAction或http://www.manning.com/bibeault下载 。
每章的代码示例以易于在本机Web服务器上发布的形式来组织。把下载代码解压到你选定的文件夹,并且把此文件夹设置为Web应用文档根目录。启动页面是建立在Web应用根目录中的文件index.html。
除了第8章的示例和第9章的几个示例以外,大部分示例无需用到Web服务器,直接用浏览器打开就可运行。文件chapter8/tomcat.pdf将指导你轻松地设立Tomcat作为Web服务器,去运行第8、9章的示例。
所有示例在多种浏览器中经过测试,包括IE7、Firefox 2、Opera 9、Safari 2以及Camino 1.5。示例在IE6中一般也可以运行,但可能遇到一些页面布局问题。不过需要注意的是,所有的jQuery代码在IE6中运行都不会有问题,是示例中的CSS导致了页面布局异常。因为本书的目标读者是专业的Web开发者,所以我们假定所有读者都有一种或多种浏览器可以运行示例代码。
交流与反馈
本书英文原版论坛是http://www.manning.com/jQueryinAction或http://www.manning.com/bibeault。论坛提供了一个场合,让读者之间、读者与作者之间进行富有意义的对话。同时,本书的译者特意申请了电子邮箱jQueryin@126.com。读者在阅读本书的过程中发现的问题,或者有什么好的意见和建议都可以发送邮件到jQueryin@126.com及时与译者交流、探讨。读者还可以发送邮件到contact@turingbook.com及时与本书编辑取得联系。
关于书名
通过介绍、概览和“怎样去做”示例,实战(In Action)系列图书是为帮助学习和记忆而设计的。根据认知科学的研究,人们容易记住他们在自我推动的探索过程中所发现的事情。
虽然Manning出版社的工作人员没有谁是认知科学家,但我们确信,要使学习效果持久,就必须探索、动手实践,并且饶有兴致地复述所学内容。只有在积极探索新事物之后,人们才能理解和记住新事物,也就是掌握新事物。人类在实践中学习,因此,示例驱动是实战系列图书不可缺少的一部分。示例驱动鼓励读者尝试新事物、编写新代码以及探索新想法。
采用这个书名还有另一个更为现实的理由:我们的读者很忙。他们利用图书去完成工作任务或者解决问题。他们需要可以轻松地拿起和放下,想学的时候就能学到想学内容的书;他们需要在实际行动中帮得上忙的书。本系列的图书正是为这样的读者而设计的。
关于封面图片
本书封面上的人物肖像叫做“看守人”。这幅图片摘自法国的J. G. St. Saveur所著的《旅行百科》,1796年出版。那时为了乐趣而旅行是相对较新的现象,诸如此类的旅行指南很受欢迎,它们向旅游者和在家神游者介绍世界各地的人物风情,包括法国士兵、公务员、手工艺者、商人和农民的区域性服装样式和制服样式。
《旅行百科》中多姿多彩的图片生动地描绘了200年前世界各地的不同特色。在那个时代,即使两地仅相距几十英里,人们的服饰也可能是迥异的,服饰就标志着人们属于哪个地区。这本旅行指南活灵活现地反映出那个时代的隔离感和距离感,其实除了当今这个信息发达、无处不联系的时期以外,历史上的所有时期都存在这种隔离感和距离感。
服装样式从那时起发生了很大变化,原先各个地域多种多样的服饰正在逐渐消失。现在通常很难区分两个不同地区的人。如果从好的一方面看,我们也许是在用文化上和视觉上的多样性来换取更加多元化的个人生活,或者是多元化的、充满趣味的才智人生。
这本旅行指南中的图片重现了两个世纪前丰富多样的地域风情。Manning出版社用这样的图片作为封面来赞美计算机行业的独创性、开拓性和无穷乐趣。..
序
一切都是为了追求简单。当Web开发者想要编写几个简单交互的时候,为什么非要编写一段又一段冗长而复杂、像书一般沉甸甸的代码呢?事实上,复杂性从来就不是开发Web应用的必要条件。
在我开始着手创建jQuery时,就决定把重点放在小而简单的代码上,它们服务于Web开发者日复一日处理的所有实际应用。阅读本书之后,我非常高兴,因为书中出色地体现了jQuery库的这些原则。
本书特别注重以简洁的形式展示真实可用的代码,可作为想熟悉该库的人们的理想学习资源。
本书最让我满意的是Bear和Yehuda对库内部工作机制细节给予了极大的关注。他们不遗余力地对jQuery API进行调查研究和宣传推广。似乎过去每天我都收到来自他们的电子邮件或即时消息,请求解释、报告新发现的程序缺陷,或者建议该库可改进的地方。你可以放心,摆在你面前的这本书,是作者经过深思熟虑写出的一部关于jQuery库的深入透彻的著作。
本书内容让我感到惊奇的是,它还清晰地论述了jQuery插件以及插件开发背后的策略和理论。jQuery之所以能够如此简单,是因为它利用了插件体系结构。该体系结构提供许多有文档的扩展点,插件可在这之上添加功能。通常那些功能虽然有用却不够通用,才没有纳入jQuery,因此插件体系结构是十分必要的。本书讨论的几个插件,比如Forms(表单)、Dimension(尺寸)以及LiveQuery(实时查询)插件,已经被广泛采用,其理由显而易见:它们的构造、文档编写和维护都是专家级的。请务必对怎样利用和构造插件给予特别关注,因为插件的使用对于jQuery是非常重要的。
拥有本书这样的资源,jQuery项目一定会继续成长和成功。当你开始探索和利用jQuery时,本书将助你一臂之力。...
John Resig
jQuery的创建者