Web Development with jQuery
Published by
John Wiley & Sons, Inc.
10475 Crosspoint Boulevard
Indianapolis, IN 46256
www.wiley.com
Copyright 2015 by John Wiley & Sons, Inc., Indianapolis, Indiana
Published simultaneously in Canada
ISBN: 978-1-118-86607-8
ISBN: 978-1-118-86599-6 (ebk)
ISBN: 978-1-118-86600-9 (ebk)
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permissions
.
Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including without limitation warranties of fitness for a particular purpose. No warranty may be created or extended by sales or promotional materials. The advice and strategies contained herein may not be suitable for every situation. This work is sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional services. If professional assistance is required, the services of a competent professional person should be sought. Neither the publisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Web site is referred to in this work as a citation and/or a potential source of further information does not mean that the author or the publisher endorses the information the organization or Web site may provide or recommendations it may make. Further, readers should be aware that Internet Web sites listed in this work may have changed or disappeared between when this work was written and when it is read.
For general information on our other products and services please contact our Customer Care Department within the United States at (877) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002.
Wiley publishes in a variety of print and electronic formats and by print-on-demand. Some material included with standard print versions of this book may not be included in e-books or in print-on-demand. If this book refers to media such as a CD or DVD that is not included in the version you purchased, you may download this material at http://booksupport.wiley.com
. For more information about Wiley products, visit www.wiley.com
.
Library of Congress Control Number: 2014948560
Trademarks: Wiley, the Wiley logo, Wrox, the Wrox logo, Programmer to Programmer, and related trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries, and may not be used without written permission. jQuery is a registered trademark of Software Freedom Conservancy. All other trademarks are the property of their respective owners. John Wiley & Sons, Inc., is not associated with any product or vendor mentioned in this book.
About the Author
RICHARD YORK has written four previous Wrox books, including Beginning JavaScript and CSS Development with jQuery (2009).
About the Contributor and Technical Editor
PETER HENDRICKSON has been developing software as a hobby since 1989 and professionally since 2001. He is currently a Manager of Software Engineering at salesforce.com, where he has developed both user interface and middle-tier components for the Salesforce Marketing Cloud. In addition to his work technical editing many chapters of the book, Peter contributed by writing several chapters.
About the Technical Editor
NIK DEVEREAUX joined ViaSat in 2003 and is currently a program director for ViaSat's Central Engineering department. He manages the Software Engineering Office and University Partnerships & Recruiting programs. In this role, Nik's primary goal is to grow the size, skill set, and strategic alignment of the entire software engineering community across all business areas and office locations. He received his bachelor's and master's degrees from UC San Diego.
Credits
PROJECT EDITOR
John Sleeva
TECHNICAL EDITOR
Peter Hendrickson
Nik Devereaux
PRODUCTION MANAGER
Kathleen Wisor
COPY EDITOR
San Dee Phillips
MANAGER OF CONTENT DEVELOPMENT & ASSEMBLY
Mary Beth Wakefield
MARKETING DIRECTOR
David Mayhew
MARKETING MANAGER
Carrie Sherrill
PROFESSIONAL TECHNOLOGY & STRATEGY DIRECTOR
Barry Pruett
BUSINESS MANAGER
Amy Knies
ASSOCIATE PUBLISHER
Jim Minatel
PROJECT COORDINATOR, COVER
Patrick Redmond
PROOFREADER
Amy Schneider
INDEXER
Johnna VanHoose Dinse
COVER DESIGNER
Wiley
COVER IMAGE
iStock.com/George Pchemyan
Introduction
JQUERY HAS BECOME ESSENTIAL in the world of web development. jQuery's mission as a JavaScript library is simple: It strives to make the lives of web developers easier by making many tasks much easier. jQuery began as a library to patch cross-browser inconsistencies, to make developing in JavaScript easier, while it still provides a lot of cross-browser normalization. As browsers have advanced and filled in holes in compatibility, jQuery has become leaner, more efficient, and better at fulfilling the task of providing an API that makes developing JavaScript easier.
jQuery has the proven capability to reduce many lines of ordinary JavaScript to just a few lines, and, in many cases, just a single line of jQuery-enabled JavaScript. The trade-off is including the additional size and complexity of the jQuery library (and possibly additional related downloads) in the materials your users need to obtain to use your website or application. This is less of a trade-off today as more and more people have access to high-speed Internet. High-speed internet, although still pathetic in the United States when compared to some other nations, has inched up in overall speed. So, the additional download isn't all that much when you consider the big picture.
jQuery strives to remove barriers in JavaScript development by removing redundancy wherever possible. jQuery 1.9 and earlier focus more on normalizing cross-browser JavaScript development in key areas where browsers would otherwise differ, such as Microsoft's Event API and the W3C Event API, and other, more remedial tasks such as getting the mouse cursor's position when an event has taken place. With the normalization efforts taking place in the browsers, jQuery 2.0 can shed a great deal of legacy baggage that focused on bridging things such as event compatibility between Internet Explorer and everyone else. Now, the latest version of Internet Explorer has the standard event API in strict standards rendering mode, so when you include the right Document Type Declaration, there is no need to bridge event support.
jQuery 1.9 should be used if you need to work with older versions of Internet Explorer, such as IE8. Both jQuery 1.9 and jQuery 2.0 work with all the modern browsers, including the latest versions of Safari, Firefox, Google Chrome, and Internet Explorer.
Next page