Tải bản đầy đủ (.pdf) (1,011 trang)

Tài liệu Actionscript 3.0 bible 2nd edition docx

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 (13.15 MB, 1,011 trang )

www.it-ebooks.info
www.it-ebooks.info
ActionScript
®
3.0 Bible
www.it-ebooks.info
www.it-ebooks.info
ActionScript
®
3.0 Bible
Second Edition
Roger Braunstein
Wiley Publishing, Inc.
www.it-ebooks.info
ActionScript
®
3.0 Bible
Published by
Wiley Publishing, Inc.
10475 Crosspoint Boulevard
Indianapolis, IN 46256
www.wiley.com
Copyright © 2010 by Wiley Publishing, Inc., Indianapolis, Indiana
Published simultaneously in Canada
ISBN: 978-0-470-52523-4
Manufactured in the United States of America
10987654321
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 />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 organi-
zation 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 rec-
ommendations 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 also publishes its books in a variety of electronic formats. Some content that appears in print may not be avail-
able in electronic books.
Library of Congress Control Number: 2009943640
Trademarks: Wiley and the Wiley logo 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. ActionScript
is a registered trademark of Adobe Systems Incorporated. All other trademarks are the property of their respective
owners. Wiley Publishing, Inc. is not associated with any product or vendor mentioned in this book.
www.it-ebooks.info
About the Author
Roger Braunstein is a multidisciplinary programmer and the Chief Roger Officer of partlyhuman inc.,
an independent development and design shop in Brooklyn, NY. Roger is an author of the first edition
of ActionScript 3.0 Bible, and a short e-book, Introduction to Flex 2. Roger builds games, mobile apps,
interactive art, tools, web apps, and websites using any technology he can wrap his head around. In
just the past two years he’s built stuff for LEGO, MoMA, Tim Burton, Antony and the Johnsons, AOL,
HBO, Puma, General Mills, Sport Chalet, Pepsi, Coke, OMGPOP, the French Culinary Institute, and

more. Additionally, he keeps busy with a series of independent projects. When not in front of a com-
puter, Roger enjoys normal human activities such as biking, cooking, reading, traveling, taking photos,
roller-skating, and dancing to music made on GameBoys. He is perpetually too preoccupied to put
anything interesting on his site
but you can use it to get in touch
with him.
www.it-ebooks.info
www.it-ebooks.info
Credits
Acquisitions Editor
Scott Meyers
Project Editor
Brian MacDonald
Technical Editor
Caleb Johnston
Production Editor
Daniel Scribner
Copy Editor
Karen Gill
Editorial Director
Robyn B. Siesky
Editorial Manager
Mary Beth Wakefield
Marketing Manager
David Mayhew
Production Manager
Tim Tate
Vice President and Executive
Group Publisher
Richard Swadley

Vice President and Executive
Publisher
Barry Pruett
Associate Publisher
Jim Minatel
Project Coordinator, Cover
Lynsey Stanford
Proofreader
Nancy Bell
Indexer
Robert Swanson
Cover Image
Joyce Haughey
Cover Designer
Michael E. Trent
www.it-ebooks.info
www.it-ebooks.info
T
his book, like all gargantuan projects, was a team effort. Its pages were touched by many
hands, at Wiley and elsewhere. Losing even a single pair of these hands would mean you
wouldn’t have this book in yours right now, so I want to thank each and every person on
my team, whether I sent you 20 e-mails a day or never met you.
My most heartfelt thanks go to my project editor Brian MacDonald, and my acquisitions editor
Scott Meyers, who were nothing short of bodacious to work with. When I think of how many times I
pushed for some new, unconventional feature or change to the established Bible series, and then look
at this book and see all of my ideas in print, I know it’s Brian and Scott who have somehow done
their magic, convinced the right people, and made it happen. Thank you.
Perhaps every author forms a good relationship with his project editor just because he’s the person
who’s there from the first day of writing through the last, exhausted round of edits. But I think Brian
MacDonald is exceptional. I’ve never worked with an editor half as good. He had the right solution

for every problem. He was behind me and my ideas through thick and thin. His edits were always
spot-on. He was always available, always funny, and he even got my nerdy jokes. Trust me, if you’re
writing a programming book, bribe whoever you need to hire Brian.
I can’t talk about my team without mentioning the exhaustive copy editing done by Karen Gill. She
kept tabs on all my writing, cut down my useless tiresome redundant logorrhea, and made this book
less of a slog to get through. Trust me, you owe her one. I have the feeling her job is a little thankless,
but I do thank her.
Caleb Johnston, besides being a good friend, was a terrific technical editor. Somehow, with a full
course load for his master’s degree, he managed to find the time to review this entire book by him-
self. (The previous edition, although smaller, had three technical editors!) More than just scrutinizing
it, he made detailed and thoughtful criticisms, with as much ruthlessness as I demanded of him. He
found some quirky errors, and because he found them, you won’t have to.
Special thanks go out to my friend Corey Lucier at Adobe, who was kind enough to answer a few
questions about the internal workings of Flash Player or forward them on to Flash Player engineers.
Their additions helped me be even more accurate in this book, and Corey’s help was invaluable.
Special thanks also go to Whitney Gardner, who made two sublime illustrations for this book when I
was at my wit’s end.
Thanks to the U.S. economy for making my day job so unprofitable it made sense to sit in my
room and write for nine months. Thanks to coffee: you complete me. Thanks to my crazy SafeType
keyboard, which saved me from crippling arm pain. Thanks to my friends for, I dunno, whatever,
I like you.
Last but not least, thanks and lotsa lotsa love to my parents.
ix
www.it-ebooks.info
www.it-ebooks.info
Introduction xli
PartI:ActionScript3.0LanguageBasics 1
Chapter 1: Introducing ActionScript 3.0 3
Chapter 2: ActionScript 3.0 Language Basics 15
Chapter 3: Functions and Methods 39

Chapter 4: Object Oriented Programming 51
Chapter 5: Validating Your Program 103
PartII:CoreActionScript3.0DataTypes 111
Chapter 6: Text, Strings, and Characters 113
Chapter 7: Numbers, Math, and Dates 125
Chapter 8: Arrays 145
Chapter 9: Vectors 167
Chapter 10: Objects and Dictionaries 181
Chapter 11: XML and E4X 191
Chapter 12: Regular Expressions 225
Chapter 13: Binary Data and ByteArrays 257
Part III: The Display List . . 271
Chapter 14: Visual Programming with the Display List 273
Chapter 15: Working in Three Dimensions 301
Chapter 16: Working with DisplayObjects in Flash Professional 321
Chapter 17: Text, Styles, and Fonts 329
Chapter 18: Advanced Text Layout 367
Chapter 19: Printing 399
PartIV:Event-DrivenProgramming 407
Chapter 20: Events and the Event Flow 409
Chapter 21: Interactivity with the Mouse and Keyboard 429
Chapter 22: Timers and Time-Driven Programming 461
Chapter 23: Multitouch and Accelerometer Input 473
PartV:ErrorHandling 489
Chapter 24: Errors and Exceptions 491
Chapter 25: Using the AVM2 Debugger 505
Chapter 26: Making Your Application Fault-Tolerant 523
PartVI:ExternalData 531
Chapter 27: Networking Basics and Flash Player Security 533
Chapter 28: Communicating with Remote Services 561

xi
www.it-ebooks.info
Contents at a Glance
Chapter 29: Storing and Sending Data with SharedObject 571
Chapter 30: File Access 589
Part VII: Sound and Video 603
Chapter 31: Playing and Generating Sound 605
Chapter 32: Playing Video 625
Chapter 33: Capturing Sound and Video 643
Part VIII: Graphics Programming and Animation 655
Chapter 34: Geometric and Color Transformations 657
Chapter 35: Programming Vector Graphics 687
Chapter 36: Programming Bitmap Graphics 733
Chapter 37: Applying Filters 769
Chapter 38: Writing Shaders with Pixel Bender 803
Chapter 39: Scripting Animation 835
Chapter 40: Advanced 3D 855
PartIX:FlashinContext 877
Chapter 41: Globalization, Accessibility, and Color Correction 879
Chapter 42: Deploying Flash on the Web 897
Chapter 43: Interfacing with JavaScript 905
Chapter 44: Local Connections between Flash Applications 911
Index 921
xii
www.it-ebooks.info
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xli
Part I: ActionScript 3.0 Language Basics 1
Chapter 1: Introducing ActionScript 3.0 . . . . . . . . . . . . . . . . . . . . . . . . . 3
What Is ActionScript 3.0? 3
Exploring the Flash Platform 4

A Programmer’s Perspective 5
Language 5
API 6
Libraries 7
Compilers, Tools, and IDEs 7
SWFs 8
Flex 9
In Short 9
A User’s Perspective 9
Runtimes 9
Platforms and Platform Independence 10
The Flash Player Zoo 10
In Short 11
From ActionScript 2.0 to ActionScript 3.0 11
Display List 11
Runtime Errors 12
Runtime Data Types 12
Method Closures 12
Intrinsic Event Model 12
Regular Expressions 12
E4X 12
Summary 13
Chapter 2: ActionScript 3.0 Language Basics . . . . . . . . . . . . . . . . . . . . . 15
The Bare Essentials 15
Using Variables 17
Anatomy of a Variable Declaration 17
Constants in This Changing World 18
Taking It Literally 18
xiii
www.it-ebooks.info

Contents
Commenting Your Code 20
Types of Comments 20
Single-Line Comment 20
Block Comments 20
XML Comments 20
Javadoc Comments 21
When to Use Comments 21
Self-Commenting Code 21
Introducing Scope 22
Introducing the Data Types 23
Declaring Types 23
Using Untyped Variables 23
Connecting You to an Operator 23
Unary vs. Binary Operators 24
Order of Operations 24
Some Commonly Used Operators 24
Assignment (=) 24
Arithmetic (+, –, *, /) 24
Modulo (%) 25
Increment (++) and Decrement (– –) 25
Compound Assignment Operators (+=, −=,*=,/=,and%=) 25
Comma Operator (,) 26
Making Logical Choices with Conditionals 26
if Statements 26
Equality (==) 27
Testing Other Comparisons 27
Greater Than (>)andLessThan(<) 28
Not Equal to (!=) 28
And (&&) and Or (||) Operators 28

Checking for Null Values 29
if else 30
switch 30
The Conditional Operator 31
Repeating Actions Using Loops 33
Using for Loops 33
Using for in and for each in 34
for in 34
for each in 34
Using while and do while 35
while 35
do while 36
Battle of the Loop Structures: for vs. while 37
Avoiding Infinite Loops 37
Using break and continue 37
continue 37
break 37
Summary 38
xiv
www.it-ebooks.info
Contents
Chapter 3: Functions and Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Calling Functions 39
Creating Custom Functions 40
Defining a Function 40
Passing Arguments to Your Function 41
Passing by Reference or by Value 41
Setting Default Values 43
Using the Rest Parameter ( ) 43
Returning Results 44

Returning a Value Using a return Statement 45
Defining a Return Type for Your Function 46
Returning Void 46
Anonymous Functions 46
Functions as Objects 47
Recursive Functions 48
Summary 50
Chapter4:ObjectOrientedProgramming 51
Understanding Classes 51
Classes Can Model the Real World 51
Classes Contain Data and Operations 52
Classes Separate Responsibilities 52
Classes Are Types 52
Classes Contain Your Program 53
Object Oriented Terminology 53
Object 53
Class 54
Instance 54
Type 54
Encapsulation: Classes Are Like, So Selfish 55
The Black Box Principle 55
Encapsulation and Polymorphism 56
Packages: Classes, Functions, and Packing Peanuts 56
Class Uniqueness and Namespaces 56
Hierarchy 57
Controlling Visibility 58
Code Allowed in Packages 58
Using Code from Packages 59
Using Inheritance 61
Structuring Code with Inheritance 64

Inheritance, Types, Polymorphism, and You 66
Inheritance vs. Composition 67
Preventing Inheritance 69
Access Control Attributes 70
Public and Private 71
Protected 73
Internal 74
Custom Access Control with Namespaces 75
Methods and Constructors 77
xv
www.it-ebooks.info
Contents
Properties 78
Accessors 79
Avoid Side Effects 81
Self-Referential Code 82
Using Static Methods and Properties 83
Static Variables 84
Static Constants 85
Enumerations 87
Static Methods 87
Overriding Behavior 89
Accessing the Superclass 90
Designing Interfaces 92
Manipulating Types 96
Type Compatibility and Coercion 97
Explicit Type Conversion 98
Determining Types 100
Creating Dynamic Classes 100
Summary 101

Chapter 5: Validating Your Program . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Introducing Errors 103
Compile-Time Errors vs. Runtime Errors 104
Compile-Time Errors 104
Runtime Errors 104
Warnings 104
Getting Feedback from Flash Professional and Flash Builder 104
Debugging in Flash Professional 104
Debugging in Flash Builder 106
Fixing Errors 108
Summary 110
Part II: Core ActionScript 3.0 Data Types 111
Chapter 6: Text, Strings, and Characters . . . . . . . . . . . . . . . . . . . . . . . 113
Working with String Literals 113
Using Escaped Characters 114
Converting to and from Strings 115
Using toString() 115
Casting and Converting to Strings 116
Converting Strings into Other Types 116
Converting Strings to Numbers 116
Converting Strings to Arrays 117
Combining Strings 118
Converting the Case of a String 118
Using the Individual Characters in a String 119
Getting the Number of Characters in a String 119
Getting a Particular Character 120
Converting a Character to a Character Code 120
Searching within a String 120
xvi
www.it-ebooks.info

Contents
Searching by Substring 120
Searching with Regular Expressions 121
String Dissection 122
String Encoding and International Text 123
Summary 123
Chapter7:Numbers,Math,andDates 125
Understanding Numeric Types 125
Sets of Numbers 125
Representing Numbers 126
Digital Representations of Numbers 126
Unsigned Integers 126
Signed Integers 127
Floating-Point Numbers 127
Using Numbers in ActionScript 128
Number 128
int 129
uint 129
Literals 130
Edge Cases 130
Not a Number 131
Infinity 131
Minimum and Maximum Values 131
Manipulating Numbers 132
Numeric Conversions 132
String Conversions 132
Performing Arithmetic 133
Performing Trigonometric Calculations 135
Generating Randomness 137
Manipulating Dates and Times 138

Creating a Date 138
Epoch Time 139
Time zones 140
Accessing and Modifying a Date 141
Date Arithmetic 142
Execution Time 142
Formatting a Date 143
Summary 144
Chapter8:Arrays 145
Array Basics 145
Using the Array Constructor 145
Creating an Array by Using an Array Literal 147
Referencing Values in an Array 147
Finding the Number of Items in an Array 148
Converting Arrays to Strings 148
Adding and Removing Items from an Array 149
Appending Values to the End of Your Array with concat() 149
Applying Stack Operations push() and pop() 150
Applying Queue Operations shift() and unshift() 151
xvii
www.it-ebooks.info
Contents
Slicing, Splicing, and Dicing 152
Inserting and Removing Values with splice() 152
Working with a Subset of your Array with slice() 152
Iterating through the Items in an Array 153
Using a for Loop 153
Using for each in 154
Using the forEach() Method 154
Searching for Elements 155

Reordering Your Array 155
Using Sorting Functions 156
Flipping the Order of Your Array Using Reverse() 159
Applying Actions to All Elements of an Array 159
Conditional Processing with every(), some(), and filter() 159
Getting Results with the map() Method 162
Alternatives to Arrays 162
Associative Arrays 162
Multidimensional Arrays 163
Amazing Properties of Arrays 165
Summary 165
Chapter9:Vectors 167
Vector Basics 167
Why Do We Need Another Datatype? 168
Array: More Functionality Than You Require 169
Vectors: Arrays with Benefits 170
Fixed-Size Vectors 172
Generics and Parameterized Types 173
Vector as a Generic 173
No Generics for You 174
Generic Methods of Vector 176
Creating and Converting Vectors 178
Vector literals 179
Converting Types of Vectors 179
Converting a Vector into an Array 180
Summary 180
Chapter 10: Objects and Dictionaries . . . . . . . . . . . . . . . . . . . . . . . . . 181
Working with Objects 181
Dynamic Classes 181
Creating Objects 182

Accessing Object Properties 182
toString() 183
Using Objects and Dictionaries as Associative Arrays 183
Comparing Arrays, Objects, and Dictionaries 184
Testing for Existence 186
Removing Properties 187
Iterating 188
xviii
www.it-ebooks.info
Contents
Using Objects for Named Arguments 188
Using Objects as Nested Data 189
XML as Objects 189
JSON 190
Summary 190
Chapter11:XMLandE4X 191
Getting Started with XML in ActionScript 191
XML References 191
E4X References 192
XML Literals 192
A Brief Introduction to E4X Operators and Syntax 194
Legacy XML Handling 195
Querying XML 196
The Child Axis 196
The Wildcard Operator 197
Indexed Elements 197
The Attribute Axis 198
The Text Axis 199
The Descendant Axis 200
The Parent Axis 201

Custom Filter Axes 201
Quick Reference 203
Modifying XML 203
Inserting Nodes 203
Inserting with E4X Operators 204
Inserting with E4X Methods 206
Removing Nodes and Attributes 207
Duplicating XML 208
Replacing Nodes 209
Converting to and from Strings 209
Converting Strings to XML 210
Converting XML to Strings 210
Printing Pretty 211
Setting the Number of Spaces per Indentation 211
Normalizing Text Nodes 212
Loading XML Data from External Sources 212
Gathering Meta-Information about XML Nodes 213
Finding Node Types 213
Determining the Type of Content in a Node 214
Using Namespaces 215
Creating XML Namespaces in ActionScript 216
Using the Namespace Class 216
Using the Namespace Keyword 217
Making Namespaces Available 217
xix
www.it-ebooks.info
Contents
Querying Namespaced XML Nodes 217
Opening Namespaces 218
Using the Scope Resolution Operator 219

Setting the Default XML Namespace 220
Querying XML for Namespaces 221
Additional Namespace Operations 222
Setting XML Options 223
Summary 223
Chapter12:RegularExpressions 225
Introducing Regular Expressions 225
Writing a Regular Expression 226
Applying Regular Expressions 226
String Methods and RegExp Methods 226
Testing 227
Locating 228
Identifying 229
Extracting 231
Replacing 233
Splitting 235
Constructing Expressions 235
Normal Characters 236
Dot Character 236
Escaped Characters 236
Metacharacters and Metasequences Demystified 237
Character Classes 238
Quantifiers 239
Anchors and Boundaries 240
Alternation 242
Groups 242
Regular Expression Flags 243
Global 243
Ignore Case 244
Multiline 244

Dotall 245
Extended 246
Constructing Advanced Expressions 246
Greedy and Lazy Matching 247
Backreferences 248
Lookahead and Noncapturing Groups 249
Noncapturing Groups 249
Positive Lookahead Groups 249
Negative Lookahead Groups 250
Named Groups 250
International Concerns 252
Using the RegExp Class 252
Building Dynamic Expressions with String Operations 252
RegExp Public Properties 253
Summary 253
xx
www.it-ebooks.info
Contents
Chapter 13: Binary Data and ByteArrays . . . . . . . . . . . . . . . . . . . . . . . . 257
Binary Concepts 257
Bit Math and Operators 260
Basic Arithmetic 260
Bit Shifting 260
Bitwise Logic 262
Binary Types in ActionScript 263
Using ByteArray 265
Creating a ByteArray 265
Writing Data 265
Reading Data 265
Compressing and Decompressing 266

Common Uses of ByteArrays 266
Loading Images 266
Copying Objects 267
Summary 268
Part III: The Display List 271
Chapter 14: Visual Programming with the Display List . . . . . . . . . . . . . 273
Introducing Display Lists and Display Objects 273
Structure of the Display List 274
Coordinate Spaces 274
Manipulating the Display List 276
Creating a New Display Object 276
Adding an Object to a Display List 277
Removing an Object from a Display List 278
Re-sorting Depths 278
Reparenting Display Objects 279
Examining Display Lists 279
Display Object Classes 280
DisplayObject 280
InteractiveObject 283
DisplayObjectContainer 283
Shape 284
Bitmap 284
Video 284
AVM1Movie 284
SimpleButton 284
TextField 285
Sprite 285
MovieClip 285
Loader 286
Stage 286

Resizing 286
Changing SWF Properties 286
Going Full-Screen 287
xxi
www.it-ebooks.info
Contents
Device Orientation 288
Event Source and Focus Manager 289
Color Correction 289
Geometry Classes 289
Point 289
Rectangle 290
Putting the Display List to Use 292
Drag-and-Drop, Hit Testing 292
Nesting and Cumulative Transformations 294
Full-Screen and Stage Resizing 295
Rendering and Performance 297
Stage Size and Dirty Rectangles 297
Number of Display Objects 297
Alpha, Blend Modes, Masking, and Filters 297
Text 298
Bitmaps, Vectors, and Bitmap Caching 298
More on Rendering 299
Summary 299
Chapter15:WorkinginThreeDimensions 301
Introducing 3D in ActionScript 3.0 301
The 3D Coordinate System 303
3D in Flash Professional 304
Limitations of 3D Display Objects 304
Display Objects are Flat 305

A Viewport Isn’t a Camera 305
Depths Are Managed by the DisplayObjectContainer 305
Other Missing Stuff 305
DisplayObject Revisited 306
Geometry Revisited 309
Mouse and Point Translation in 3D 311
Translating Points in Code 312
Modifying the Projection 314
Software 3D Libraries 318
Summary 319
Chapter 16: Working with DisplayObjects in Flash Professional . . . . . . 321
The Stage, Symbols, and the Library 321
Creating Symbols 322
Named Instances 323
Nested Instances 324
Associating Symbols to Classes 324
Writing an Associated Class 326
Nongraphic Symbol Types 326
Exporting and Using Assets 327
Using Assets from a SWC 327
Using Assets from a SWF 327
Summary 328
xxii
www.it-ebooks.info
Contents
Chapter17:Text,Styles,andFonts 329
Introducing TextFields 329
Creating a New TextField 330
Adding and Replacing Text 330
Setting a TextField’s Size 330

Setting a TextField’s Scaling and Rotation 332
Wrapping Text 332
Preventing User Selection 333
Displaying Multilingual Text and Symbols 334
Text with HTML and CSS 334
HTML Support in TextField 334
Adding Images or SWF Files to a TextField with <img> 335
Supported CSS Properties 336
The StyleSheet Object and CSS Parsing 337
Background and Border Treatments 339
Styling Text with TextFormats 339
align 341
blockIndent 341
bold 341
bullet 341
color 341
font 342
indent 342
italic 342
leading 342
letterSpacing 342
leftMargin 342
rightMargin 343
size 343
tabStops 343
target 343
underline 343
url 344
Input TextFields 344
The Three Kinds of Text Fields 344

Making a TextField an Input Field 345
Restricting User Input 345
Tab-Accessible Input Text Fields 347
Password Text Fields 347
Interaction with TextField Events 347
focusIn and focusOut Events 347
Text Input Events 349
Link Events 352
Scroll Events 354
Interactive Typography 354
Text by Lines and Paragraphs 354
Finding Text by Location 356
xxiii
www.it-ebooks.info

×