Tải bản đầy đủ (.pdf) (10 trang)

JavaScript Bible, Gold Edition part 3 doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (63.58 KB, 10 trang )

Contents at a Glance
Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Preface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
Part I: Getting Started with JavaScript . . . . . . . . . . . . . . . . . . . 1
Chapter 1: JavaScript’s Role in the World Wide Web and Beyond . . . . . . . . . . 3
Chapter 2: Authoring Challenges Amid the Browser Wars . . . . . . . . . . . . . . 11
Chapter 3: Your First JavaScript Script . . . . . . . . . . . . . . . . . . . . . . . . . 19
Part II: JavaScript Tutorial — Summary . . . . . . . . . . . . . . . . . . 29
Chapter 4: Browser and Document Objects . . . . . . . . . . . . . . . . . . . . CD-1
Chapter 5: Scripts and HTML Documents . . . . . . . . . . . . . . . . . . . . . CD-23
Chapter 6: Programming Fundamentals, Part I . . . . . . . . . . . . . . . . . . CD-35
Chapter 7: Programming Fundamentals, Part II . . . . . . . . . . . . . . . . . . CD-47
Chapter 8: Window and Document Objects . . . . . . . . . . . . . . . . . . . . CD-61
Chapter 9: Forms and Form Elements . . . . . . . . . . . . . . . . . . . . . . . CD-75
Chapter 10: Strings, Math, and Dates . . . . . . . . . . . . . . . . . . . . . . . . CD-89
Chapter 11: Scripting Frames and Multiple Windows . . . . . . . . . . . . . . CD-99
Chapter 12: Images and Dynamic HTML . . . . . . . . . . . . . . . . . . . . . CD-109
Part III: Document Objects Reference . . . . . . . . . . . . . . . . . . . 35
Chapter 13: JavaScript Essentials . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Chapter 14: Document Object Model Essentials . . . . . . . . . . . . . . . . . . . 61
Chapter 15: Generic HTML Element Objects . . . . . . . . . . . . . . . . . . . . . 105
Chapter 16: Window and Frame Objects . . . . . . . . . . . . . . . . . . . . . . . 217
Chapter 17: Location and History Objects . . . . . . . . . . . . . . . . . . . . . . 321
Chapter 18: The Document and Body Objects . . . . . . . . . . . . . . . . . . . . 339
Chapter 19: Body Text Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Chapter 20: HTML Directive Objects . . . . . . . . . . . . . . . . . . . . . . . . . 473
Chapter 21: Link and Anchor Objects . . . . . . . . . . . . . . . . . . . . . . . . . 493
Chapter 22: Image, Area, and Map Objects . . . . . . . . . . . . . . . . . . . . . . 505
Chapter 23: The Form and Related Objects . . . . . . . . . . . . . . . . . . . . . 527
Chapter 24: Button Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549


Chapter 25: Text-Related Form Objects . . . . . . . . . . . . . . . . . . . . . . . . 569
Chapter 26: Select, Option, and FileUpload Objects . . . . . . . . . . . . . . . . 589
Chapter 27: Table and List Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 613
Chapter 28: The Navigator and Other Environment Objects . . . . . . . . . . . . 665
Chapter 29: Event Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
Chapter 30: Style Sheet and Style Objects . . . . . . . . . . . . . . . . . . . . . . 777
Chapter 31: Positioned Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855
Chapter 32: Embedded Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901
Chapter 33: XML Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919
Part IV: JavaScript Core Language Reference . . . . . . . . . . . . . . 925
Chapter 34: The String Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927
Chapter 35: The Math, Number, and Boolean Objects . . . . . . . . . . . . . . . 951
Chapter 36: The Date Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967
Chapter 37: The Array Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 987
Chapter 38: The Regular Expression and RegExp Objects . . . . . . . . . . . . 1007
Chapter 39: Control Structures and Exception Handling . . . . . . . . . . . . . 1033
Chapter 40: JavaScript Operators . . . . . . . . . . . . . . . . . . . . . . . . . . 1069
Chapter 41: Functions and Custom Objects . . . . . . . . . . . . . . . . . . . . 1093
Chapter 42: Global Functions and Statements . . . . . . . . . . . . . . . . . . . 1127
Part V: Putting JavaScript to Work . . . . . . . . . . . . . . . . . . . . 1147
Chapter 43: Data-Entry Validation . . . . . . . . . . . . . . . . . . . . . . . . . . 1149
Chapter 44: Scripting Java Applets and Plug-ins . . . . . . . . . . . . . . . . . . 1177
Chapter 45: Debugging Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1217
Chapter 46: Security and Netscape Signed Scripts . . . . . . . . . . . . . . . . . 1239
Chapter 47: Cross-Browser Dynamic HTML Issues . . . . . . . . . . . . . . . . 1259
Chapter 48: Internet Explorer Behaviors . . . . . . . . . . . . . . . . . . . . . . 1273
Chapter 49: Application: Tables and Calendars . . . . . . . . . . . . . . . . . . 1285
Chapter 50: Application: A Lookup Table . . . . . . . . . . . . . . . . . . . . . . 1299
Chapter 51: Application: A “Poor Man’s” Order Form . . . . . . . . . . . . . . . 1311
Chapter 52: Application: Outline-Style Table of Contents . . . . . . . . . . . . . 1321

Chapter 53: Application: Calculations and Graphics . . . . . . . . . . . . . . . 1355
Chapter 54: Application: Intelligent “Updated” Flags . . . . . . . . . . . . . . . 1365
Chapter 55: Application: Decision Helper . . . . . . . . . . . . . . . . . . . . . . 1375
Chapter 56: Application: Cross-Browser DHTML Map Puzzle . . . . . . . . . . 1399
Chapter 57: Application: Transforming XML Data Islands . . . . . . . . . . . . 1415
Part VI: Appendixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1431
Appendix A: JavaScript and Browser Object Quick Reference . . . . . . . . . . 1433
Appendix B: JavaScript Reserved Words . . . . . . . . . . . . . . . . . . . . . . 1447
Appendix C: Answers to Tutorial Exercises . . . . . . . . . . . . . . . . . . . . . 1449
Appendix D: JavaScript and DOM Internet Resources . . . . . . . . . . . . . . . 1465
Appendix E: What’s on the CD-ROM . . . . . . . . . . . . . . . . . . . . . . . . . 1469
Appendix F: Examples from Parts III and IV . . . . . . . . . . . . . . . . . . . CD-117
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1473
End User License Agreement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1512
CD-ROM Installation Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . 1516
Contents
Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Preface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
Part I: Getting Started with JavaScript 1
Chapter 1: JavaScript’s Role in the World Wide Web and Beyond . . . 3
Competition on the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Hypertext Markup Language (HTML) . . . . . . . . . . . . . . . . . . . . . . . 4
CGI Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Of Helpers and Plug-ins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Java Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
JavaScript: A Language for All . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
JavaScript: The Right Tool for the Right Job . . . . . . . . . . . . . . . . . . . 9
Chapter 2: Authoring Challenges Amid the Browser Wars . . . . . . . 11

Leapfrog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Duck and Cover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Compatibility Issues Today . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Developing a Scripting Strategy . . . . . . . . . . . . . . . . . . . . . . . . . 16
Chapter 3: Your First JavaScript Script . . . . . . . . . . . . . . . . . . . 19
The Software Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Setting Up Your Authoring Environment . . . . . . . . . . . . . . . . . . . . 20
What Your First Script Will Do . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Entering Your First Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Examining the Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Have Some Fun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Part II: JavaScript Tutorial — Summary 29
Chapter 4: Browser and Document Objects . . . . . . . . . . . . . . CD-1
Scripts Run the Show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-1
JavaScript in Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-2
xxiv
JavaScript Bible, Gold Edition
The Document Object Model . . . . . . . . . . . . . . . . . . . . . . . . . CD-8
When a Document Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-11
Object References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-14
About the Dot Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-17
What Defines an Object? . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-18
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-21
Chapter 5: Scripts and HTML Documents . . . . . . . . . . . . . . CD-23
Where Scripts Go in Documents . . . . . . . . . . . . . . . . . . . . . . . CD-23
JavaScript Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-27
When Script Statements Execute . . . . . . . . . . . . . . . . . . . . . . . CD-28
Viewing Script Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-30
Scripting versus Programming . . . . . . . . . . . . . . . . . . . . . . . . CD-32
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-33

Chapter 6: Programming Fundamentals, Part I . . . . . . . . . . . CD-35
What Language Is This? . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-35
Working with Information . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-35
Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-36
Expressions and Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . CD-38
Data Type Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-40
Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-42
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-44
Chapter 7: Programming Fundamentals, Part II . . . . . . . . . . . CD-47
Decisions and Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-47
Control Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-48
About Repeat Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-50
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-51
About Curly Braces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-54
Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-55
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-59
Chapter 8: Window and Document Objects . . . . . . . . . . . . . CD-61
Document Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-61
The Window Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-62
Window Properties and Methods . . . . . . . . . . . . . . . . . . . . . . CD-65
The Location Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-68
The History Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-69
The Document Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-69
The Link Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-73
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-73
xxv
Contents
Chapter 9: Forms and Form Elements . . . . . . . . . . . . . . . . . CD-75
The FORM Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-75
Form Controls as Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-77

The Button Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-79
The Checkbox Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-79
The Radio Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-80
The SELECT Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-82
Passing Form Data and Elements to Functions . . . . . . . . . . . . . . . CD-83
Submitting and Prevalidating Forms . . . . . . . . . . . . . . . . . . . . . CD-85
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-87
Chapter 10: Strings, Math, and Dates . . . . . . . . . . . . . . . . . CD-89
Core Language Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-89
String Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-90
The Math Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-93
The Date Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-94
Date Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-96
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-97
Chapter 11: Scripting Frames and Multiple Windows . . . . . . . CD-99
Frames: Parents and Children . . . . . . . . . . . . . . . . . . . . . . . . CD-99
References among Family Members . . . . . . . . . . . . . . . . . . . . CD-101
Frame Scripting Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-103
Controlling Multiple Frames — Navigation Bars . . . . . . . . . . . . . CD-103
More about Window References . . . . . . . . . . . . . . . . . . . . . . CD-106
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-107
Chapter 12: Images and Dynamic HTML . . . . . . . . . . . . . . CD-109
The Image Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-109
More Dynamism in HTML . . . . . . . . . . . . . . . . . . . . . . . . . . CD-115
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD-116
Part III: Document Objects Reference 35
Chapter 13: JavaScript Essentials . . . . . . . . . . . . . . . . . . . . . 37
JavaScript Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Core Language Standard — ECMAScript . . . . . . . . . . . . . . . . . . . . . 38
Embedding Scripts in HTML Documents . . . . . . . . . . . . . . . . . . . . 38

Browser Version Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Designing for Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Language Essentials for Experienced Programmers . . . . . . . . . . . . . . 57
Onward to Object Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
xxvi
JavaScript Bible, Gold Edition
Chapter 14: Document Object Model Essentials . . . . . . . . . . . . 61
The Object Model Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
How Document Objects Are Born . . . . . . . . . . . . . . . . . . . . . . . . 64
Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Object Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Object Event Handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Object Model Smorgasbord . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Basic Object Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Basic Object Model Plus Images . . . . . . . . . . . . . . . . . . . . . . . . . 69
Navigator 4–Only Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Internet Explorer 4+ Extensions . . . . . . . . . . . . . . . . . . . . . . . . . 71
Internet Explorer 5+ Extensions . . . . . . . . . . . . . . . . . . . . . . . . . 75
The W3C DOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Mixing Object Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Simulating IE4+ Syntax in NN6 . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Where to Go from Here . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Chapter 15: Generic HTML Element Objects . . . . . . . . . . . . . . 105
Generic Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Chapter 16: Window and Frame Objects . . . . . . . . . . . . . . . . 217
Window Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Window Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
FRAME Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
FRAMESET Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

IFRAME Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
popup Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Chapter 17: Location and History Objects . . . . . . . . . . . . . . . . 321
Location Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
History Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Chapter 18: The Document and Body Objects . . . . . . . . . . . . . 339
Document Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
BODY Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Chapter 19: Body Text Objects . . . . . . . . . . . . . . . . . . . . . . 409
BLOCKQUOTE and Q Element Objects . . . . . . . . . . . . . . . . . . . . . 410
BR Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
FONT Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
H1 H6 Element Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
xxvii
Contents
HR Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
LABEL Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
MARQUEE Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Event Handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Range Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
selection Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Text and TextNode Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
TextRange Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
TextRectangle Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
Chapter 20: HTML Directive Objects . . . . . . . . . . . . . . . . . . . 473
HTML Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
HEAD Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
BASE Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
BASEFONT Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . 477

ISINDEX Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
LINK Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
META Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
SCRIPT Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
TITLE Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Chapter 21: Link and Anchor Objects . . . . . . . . . . . . . . . . . . 493
Anchor, Link, and A Element Objects . . . . . . . . . . . . . . . . . . . . . . 493
Chapter 22: Image, Area, and Map Objects . . . . . . . . . . . . . . . 505
Image and IMG Element Objects . . . . . . . . . . . . . . . . . . . . . . . . 505
AREA Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
MAP Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
Chapter 23: The Form and Related Objects . . . . . . . . . . . . . . . 527
The Form in the Object Hierarchy . . . . . . . . . . . . . . . . . . . . . . . 527
FORM Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
FIELDSET and LEGEND Element Objects . . . . . . . . . . . . . . . . . . . . 545
LABEL Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
Chapter 24: Button Objects . . . . . . . . . . . . . . . . . . . . . . . . 549
The BUTTON Element Object, and the Button, Submit,
and Reset Input Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
Checkbox Input Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Radio Input Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Image Input Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
xxviii
JavaScript Bible, Gold Edition
Chapter 25: Text-Related Form Objects . . . . . . . . . . . . . . . . . 569
Text Input Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Password Input Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
Hidden Input Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
TEXTAREA Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
Chapter 26: Select, Option, and FileUpload Objects . . . . . . . . . 589

SELECT Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
OPTION Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
OPTGROUP Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
File Input Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
Chapter 27: Table and List Objects . . . . . . . . . . . . . . . . . . . . 613
The Table Object Family Hierarchy . . . . . . . . . . . . . . . . . . . . . . . 614
TABLE Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
TBODY, TFOOT, and THEAD Element Objects . . . . . . . . . . . . . . . . . 643
CAPTION Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
COL and COLGROUP Element Objects . . . . . . . . . . . . . . . . . . . . . 646
TR Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
TD and TH Element Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
OL Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656
UL Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
LI Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
DL, DT, and DD Element Objects . . . . . . . . . . . . . . . . . . . . . . . . 662
DIR and MENU Element Objects . . . . . . . . . . . . . . . . . . . . . . . . 663
Chapter 28: The Navigator and Other Environment Objects . . . . . 665
clientInformation Object (IE4+) and navigator Object (All) . . . . . . . . . 666
mimeType Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684
plugin Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688
Looking for MIME Types and Plug-ins . . . . . . . . . . . . . . . . . . . . . 691
screen Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698
userProfile Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
Chapter 29: Event Objects . . . . . . . . . . . . . . . . . . . . . . . . . 711
Why “Events”? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712
Event Propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
Referencing the event object . . . . . . . . . . . . . . . . . . . . . . . . . . 732
event Object Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . 734
Dueling Event Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735

Event Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738
NN4 event Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741
IE4+ event Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745
NN6+ event Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
xxix
Contents
Chapter 30: Style Sheet and Style Objects . . . . . . . . . . . . . . . 777
Making Sense of the Object Names . . . . . . . . . . . . . . . . . . . . . . . 778
Imported Style Sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779
Reading Style Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780
STYLE Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780
styleSheet Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
cssRule and rule Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
currentStyle, runtimeStyle, and style Objects . . . . . . . . . . . . . . . . . 796
filter Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840
Chapter 31: Positioned Objects . . . . . . . . . . . . . . . . . . . . . . 855
What Is a Layer? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855
NN4 Layer Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
Positioned Elements in the Modern DOM . . . . . . . . . . . . . . . . . . . 874
Chapter 32: Embedded Objects . . . . . . . . . . . . . . . . . . . . . . 901
APPLET Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902
OBJECT Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907
EMBED Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913
The Odd Case of the PARAM Element . . . . . . . . . . . . . . . . . . . . . 917
Chapter 33: XML Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 919
Elements and Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919
XML Element Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921
Part IV: JavaScript Core Language Reference 925
Chapter 34: The String Object . . . . . . . . . . . . . . . . . . . . . . . 927
String and Number Data Types . . . . . . . . . . . . . . . . . . . . . . . . . 927

String Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930
String Utility Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945
URL String Encoding and Decoding . . . . . . . . . . . . . . . . . . . . . . . 949
Chapter 35: The Math, Number, and Boolean Objects . . . . . . . . 951
Numbers in JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951
Math Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 957
Number Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 960
Boolean Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965

×