Christophe Porteneuve has been doing IT R&D for more than 10 years, specializing early in Web development. He joined Prototype Core in 2006, wrote Prototype and script.aculo.us in 2007, and sometimes speaks at conferences such as The Ajax Experience. He's the CTO of Ciblo.net in Paris, France, where he lives with his wife, Elodie.
Dedication | p. xi |
Acknowledgments | p. xiii |
Introduction | p. xv |
What's This Book About, and Who Is It For? | p. xv |
This Book and JavaScript Libraries | p. xvi |
This Book at a Glance | p. xvii |
How to Read This Book | p. xviii |
Bread and Butter: Pure JavaScript | p. 1 |
Dynamically Selecting a Method/Property | p. 4 |
Achieving Code Privacy with the Module Pattern | p. 6 |
Using Optional, Variable, and Named Arguments | p. 8 |
The DOM, Events, and Timers | p. 11 |
Obtaining References to DOM Elements | p. 14 |
Dynamically Styling Content | p. 16 |
Changing an Element's Contents | p. 18 |
Running Code When the DOM Is Loaded | p. 20 |
Listening for Events (and Stopping) | p. 22 |
Leveraging Event Delegation | p. 24 |
Decoupling Behaviors with Custom Events | p. 26 |
Simulating Background Processing | p. 28 |
UI Tricks | p. 31 |
Pulling Off Classy Tooltips | p. 34 |
Making Unobtrusive Pop-Ups | p. 36 |
Preloading Images | p. 38 |
Creating a Lightbox Effect | p. 40 |
Implementing an "Infinite Scroll" | p. 42 |
Maintaining Viewport When Loading Content | p. 44 |
Form-fu | p. 47 |
Temporarily Disabling a Submit Button | p. 50 |
Providing Input Length Feedback | p. 52 |
(Un)checking a Whole Set of Checkboxes at Once | p. 54 |
Validating Forms: The Basics | p. 56 |
Validating Forms: Going Further | p. 58 |
Validating Forms: The Whole Nine Yards | p. 60 |
Providing On-the-Fly Help Tooltips on Forms | p. 62 |
Autocompleting Input As It's Typed | p. 64 |
Using Dynamic Multiple File Uploads | p. 66 |
Talking with the Server Side | p. 69 |
Reading/Writing Cookies | p. 72 |
Loading Stuff Through Ajax (Same Domain) | p. 74 |
Using JSON | p. 76 |
Using JSON-P | p. 78 |
Cross-Domain "Ajax" (Take 1) | p. 80 |
Cross-Domain "Ajax" (Take 2) | p. 82 |
Making Mashups | p. 85 |
Syndicating Your Twitter Updates | p. 88 |
Syndicating Your Flickr Updates | p. 90 |
Geocoding a Location and Getting Photos For It | p. 92 |
Appendices | p. 95 |
JavaScript Cheat Sheet | p. 97 |
Debugging JavaScript | p. 101 |
Here Be Dragons | p. 101 |
Firefox and Firebug | p. 102 |
Safari and Web Inspector | p. 106 |
IE6, IE7, the IE Toolbar, and Web Developer Express | p. 108 |
IE8 and Developer Tools | p. 111 |
Opera and Dragonfly | p. 112 |
Virtual Machines Are Your Friends | p. 113 |
The Network May Be Your Enemy | p. 114 |
JavaScript Frameworks | p. 115 |
Prototype, script.aculo.us, and Scripty2 | p. 116 |
jQuery and jQuery UI | p. 117 |
MooTools | p. 119 |
YUI | p. 119 |
ExtJS | p. 121 |
Dojo | p. 122 |
Getting Help | p. 125 |
Help on JavaScript in General | p. 125 |
Help on Frameworks | p. 127 |
Bibliography | p. 131 |
Index | p. 133 |
Table of Contents provided by Ingram. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.