Index A-M
Symbols
$ method in Prototype library 548
Numerics
200 response, in HTTP 60
302 response, in HTTP 60
A
A9.com, Amazon portal 424
absolute position property, CSS 516
ActionScript, in Flash 28
Adapter pattern 79
Sarissa library uses 105
add/delete windows command 462
addFeeds() of RSSReader object 553
AddHandler() 376
addItem() in RSS feed object 538
Ajax
as a separate tier 162
as Dynamic HTML 4
defining principles 17
definition 4
handling 405
increments of implementation 65
injecting behavior 401
key elements 32
request/response cycle 406
sending 402
silent process 475
using full page posting 488
Ajax application
A9.com 424
allocation of logic 18
alternatives to 2829
battleship 269
characteristics 23
clickbox memory management 316
code volume 23
compared to conventional web apps 65
delays in 468
double combo box 331
exchanging data 174
file system access 248
framework requirements 169
frameworks, server side 111
GMail 24
Google Maps 25
guessing game 253
HTTPS implications 265
hyperlinks required 165
in role of a desktop application 65
interaction model 65
inventory management 92
life cycle 18
localization 221
memory use 322
mouse pad 138
MVC architecture in browser 122
need for structure 73
phone book search 473
planet browser 175
problems with 363
RSS feed reader 509
server side example 93
stock trading 87
tools, effect on 562
with only client-side code 510
with unstructured server code 164
without patterns 93
workflow 65
workflow problems 165
Ajax component
Cascading Style Sheets 33
Document Object Model 33
JavaScript 33
XMLHttpRequest object 33
Ajax tools
browser tools 564
compared to other tools 564
compared to web tools 562
maintenance information 564
page-based workflow in 563
state of IDEs 562
Ajax, DHTML techniques
displaying comlex objects 151
event router 141
handling data from server 144
ajaxEngine(), in Rico 396
ajaxUpdate() 346, 356, 463
in ContentLoader 556
in Rico library 405
AjaxWindow.css 446
AjaxWindows.js library 445, 456
alert(), using for data 148
animation, as processing indicator 468
anonymous function, as event handler 457
Apache Axis, framework 170
API
server, coarse-grained 271
server, fine-grained 270
security in 271
appendChild() 50
application
desk top 5
secure login 267
transient vs sovereign 15
application framework 111
Backbase for widgets 113
Echo2 for UI components 113
Ruby on Rails for web page development 114
SAJAX for remote procedure calls 112
server side 111
applyButtonBehaviors() in RSSReader object 548
architectural patterns 91
architecture
MVC 123
n-tier 7, 162
Ajax as a tier 162
early 2-tier 162
web application 162
server-side 164
architecture, n-tier 162
Ajax view 7
arguments pseudo array 349
arguments, property 607
Array
asignment by keyword 594
assignment by index 594
Array class
extending methods of 599
instantiation 593
arrow keys
event handler 379, 409
moving highlight 388
preventing default behavior 410
ASP 161
asynchronous communication
ActiveX objects 58
and HTTP protocol 14
benefits 27
callback function 61
detecting completion 351
example of 62
IFrame 54
Microsoft.XMLHTTP 58
onload property 61
onreadystatechange property 61
readyState property 62
response handling 349
Rico AjaxEngine object 110
send a request 58
XmlDocument object 56
XMLHttpRequest object 56
asynchronous data exchange
client-only interaction 175
content-centric interaction 178
data-centric interaction 188
script-centric interaction 182
asynchronous interactions 12
asynchronous request to server 34
asynchronous requests 19
asynchronous thread, for lengthy interaction 13
Atlas toolkit 169
ATOM syndication feed format 504, 506
attachEvent() IE function 137
attributes property of XML DOM 145
authenticate user and password 432
authentication 277
authorization 277
autocomplete, browser feature
disable for type-ahead suggest 370
autosave 448
adapting the library 448
collecting properteis 449
saving properties 450
server side code 451
B
Backbase application framework for widgets 113
background color
property 517
setting 435
background image 42
background processing, techniques for 469
background property 42
backing object 611
circular reference and 323
design pattern 141
for DOM node 318
in MVC 137
reference by name 611
bandwidth, in type-ahead suggest 363
banner ad rotator 537
battleship game
implementation 269
hacking the game 272
setup 270
behavior object in Rico library 109
behaviors, injecting to a page 353
bind(), in Prototype library 395, 548
bindAsEventListener(), in Protrotype 395
blog 505
bookmarking Ajax pages
problems with 472, 490
recovering query string 499
updating query string 500
border-collapse property, CSS 486
box-model 39
branching a library codebase 456
Break Cyclic References design pattern
example 320
breakpoints
conditional 574
debugger 572
browser
as application host 17
as dumb application 17
borrowing functions 610
event hooks 135
event models 134
host objects in 599
storing state 18
browser detection 375
IE autocomplete 407
browser differences 34
ActiveX component 78
adding content to DOM elements 496
animation in IE 468
asynchronous communication objects 56
attaching callbacks 137
bindAsEventListener(), in Prototype 408
browser detection 375, 399
callback handler functions 137
creating XMLHttpRequest 348
detecting key press 379
detecting XSLT support 498
document type, effect of 479
event handlers 395
extending host objects 599
façade and adapter, role of 77
finding elements position 77
flicker in fades 554
getting attributes of elements 416
graceful degradation 492
handling transparency 42
gif files 42
handling with try-catch block 257
HTML and body tags 435
IE and web services 254
IE asynchronous communication 64
IE garbage collection 310
Jar file for application delivery 262
keypress 376
libraries for 104
loading documents 78
Mozilla asynchronous communication 64
Mozilla PrivilegeManager 254
object detection 57
opacity rules 524
optimizing on visibility 55
pixelLeft property 78
position, finding 78
privilege granting 255
PrivilegeManager access 535
profiler in Mozilla 288
profiling tools 289
Prototype library for 107
ready states 64
Sarissa library 105
security model 250
security of local file system 251
select list display 342
string arguments 220
text attribute in IE 357
W3C event model incompatibilities 138
W3C multiple event handler 83
width property in IE 343
window libraries 445, 448
writing to status bar 197
x library for 104
XmlDocument object 57
XSLT in Mozilla 484
XSLT in MS Internet Explorer 483
XSLT in Opera and Safari 487
XSLT processing 481
XSLT processing code 485
browser functionality, visible to JavaScript 35
browser render engine vs JavaScript 133
browsers
Camino 34
Firefox 34
in PDAs 34
Internet Explorer 34
Mozilla/Gecko 34
Netscape Navigator 34
Opera 34
Safari 34
BuildChoices(), processing results 381
BuildError() 523
BuildSettings() 451
BuildXMLResults() 522
business domain, JavaScript model 144
business tier, in architecture 162
C
C#, server-side example 366
cache
client side 376
managing updates 377, 380
need for 363
server side data 369
call stack inspection 573
callback function 61
context for 136
callback handler 76
Cascading Style Sheets
adding events with 125
adjusting opacity 525
Ajax component 32
apply to multiple tags 515
applying 485
box model 39
centering lines 436
class name as progress marker 530
cursor formatting 387
description 36
elements inside another element 517
external file 486
formatting 36
formatting strings 386
hiding elements 373
layout with 40
overriding values 415
padding property 486
page layout 36
positioning elements 372
rules 36
selector rules
class-based 37
element-based 37
tag-based 37
style properties 39
table formatting 486
visual styling 41
categories, in StopWatch system 284
centering text
horizontally 517
vertically 514
CGI parameters 58
change point 456, 463
isolating 459, 464
ChangeView() 523, 525526
channel element, in RSS feed 506
childNodes, DOM property 49
circular reference
memory leaks 305
removing 311
class
associative 594
functions 595
indexed 594
Class object, in Prototype library 394
class, HTML
declaring 37
multiple class declarations 42
className property 51
clean-up functions, for circular references 307
cleanUp() 309
ClickBox widgets 316
client program, definition 5
client side
data, ways to provide 332
domain model 163
client/server
architecture 5
communication
document-centric approach 173
exposing server objects 171
frameworks for 112
HTML forms 193
message granularity 172
SAJAX object 113
sending data to server 333
serializing data 201
small methods, effect of 172
updating the server 197
using HTML 472
using XML 472
XML as medium 95
controlling request rate 403
loading JavaScript 186
script-centric 438
synchronizing models 193
XmlHttpRequest 195
XSLT 192
client-only interaction 175
closure
avoiding 616
creating 395, 548, 614
definition 614
execution scope 349
function scope in 615
memory leaks, in 616
code generation
conventions 445
in Ruby on Rails 114
code-behind class, .NET MVC 102
code-behind page 368
CollectGarbage(), IE function 311
command
add/delete windows 462
issuing to server 459
load settings 461
login 461
save settings 462
symbols for 459
command processor, error handling 463
command stack 85
Command, design pattern 85, 173
in portal object 458
completion callback method 555, 558
compliant CSS formatting 513
component configurability 399
defaults 497
component-based frameworks
Ajax compatability 168
componentizing, Ajax code 491
composite function, event handler 81
composition 601
alternative to inheritance 601
as helper classes 601
conditional breakpoints, set in IDE 575
configurability, per instance 401
configuration parameters, holding 399
consistency, application feature 214
reuse and 215
constants, in JS 518
constructor
attaching functions to 492
for portal object 455
function 597
hiding in JavaScript 89
prototype and 598
prototype object 347
constructor word in 598
content-centric interaction 178
ContentLoader
applied 333, 371
constructor 346
defined 74
in portal application 437
refactored 195
with notifications 237
Content-Type header 349
context area display 541
context of functions 307
contract
as interface 603
changes to 459
ContentLoader 355
model creator 539
portal object, defined 458
usage 454
with server 453
controller in MVC 134143
as event handler 134
example 121
in classic web application 165
Model2 framework for 166
controller object for event handling 408
Cooper, Alan 15
Cornford, Richard 311
coupling
client and server, with XML 190
in content-centric interaction 180
in script-centric interaction 182
with mobile script 187
Create Always, design pattern 310
Create If Not Exists, design pattern 310
createElement() 50
createOptions() 356
createPortal() 455
CreateScript(), call back 437
createTextNode() 50
CreateUnderline() 387
CreateWindow() window library method 445
Crockford, Doug 601
cross scripting 248
using document.domain property 250
CSS classes for transitions 511
CSS properties, reading 450
CSS. See Cascading Style Sheets
currentStyle, IE attribute 416
cursor, styling 387
cyclic reference 306
D
data exchange interaction styles 174
client-only 175
content-centric 178
data-centric 188
script-centric 182
data freshness, notification 241
database
normalizing 96
tables for windows 439
data-centric interaction 188
data-marshaling 463
DBUtil object 452
db access 432
interface to DB 442
deadlock, in a GUI 214
debugger
evaluating expressions 574
types 572
default values, providing reasonable 393
degradation path for non-Ajax systems 434
DELETE, HTTP method 60
dereference a variable 303
description element, in RSS feed 509
design pattern
Adapter defined 79
architectural 91
Attach Backing Object To DOM Node 613
backing object 141
Command 85, 173
JS function objects in 85
Create Always 310
Create If Not Exists 310
definition of 71
Façade
defined 79
interface for server side 172
for memory management 319
history 71
in memory footprint 302
interaction between 322
interactions between 316
introduce with refactoring 73
memory management 322
nested 120
Observer
defined 80, 82
implemented 82
listener in 82
over use 73
refactoring in 72
Reference Backing Object By Name 612
Remove by Dislocation 309
Remove by Hiding 309
request dispatch 454
Singleton
defined 89
in business logic 90
in Java 88
using top variable 90
design tools
examples 569
lack of support for Ajax 569
detachEvent(), IE function 137
DHTML
example 369
formatting results 382
library for windows 428
dialog modal, non-modal 226
dialup modem, accounting for 363
display property
hiding elements 390
of DOM element 421
div element, properties 474
document
global variable 49
root of DOM tree 49
Document Object Model
$() function for getting an element 395
adding nodes 293
Ajax component 32
attaching functions to nodes 613
circular links with domain model objects 310
creating dynamically 47
creating nodes 50
destroying nodes 308
by disconnecting 309
by hiding 309
dynamic content creation 130
element, definition 46
event handler properties 135
exposes page structure 45
finding a node 49
finding location with offsets 383
getting elements 49
IFrame element 54
library for manipulating 104
manipulate with XSLT 192
node, definition 45
parent and child nodes 49
position of a node 77
property 51
innerHTML 53
style array 51
style.left 78
style.pixelLeft 78
removing 320
removing nodes
by walking the tree 311
rendering on attachment 293
reusing nodes 309, 319
root of DOM tree 49
setting styles 51
single event handler supported 81
tree structure 45
XML document 190
document, HTML
look 43
structure 43
doFilter() Java method 273
DOM Inspector tool
for Safari 585
IEDocMon for Internet Explorer 584
Mozilla 46, 583
domain model
cache on client 144
circular links with DOM elements 310
client side 163
client side, building 146
objects on client 144
on the client 146
on the server 146
refactoring for 96
server side 163
domains, defining the same IP address 249
double combo box
Ajax solution 330
client side solution 328
description 328
expanding to triple combo box 345
server side solution 329
DoubleCombo object 354
drag-and-drop library
Scriptaculous 109
draggable window object 178
Dreamweaver, web development 570
Drip tool 315
DRY
dont repeat yourself 79
in view 125
Duck Typing, contract 603
DWR
application framework 112
for Java 170
framework example 170
Dynamic HTML, initial promise 34
dynamic query construction 338
E
e.target, non-IE property 379
e.which, non-IE property 379
Echo2 application framewwork 113
Eclipse, IDE 569
plug-in based 563
plug-ins for making plug-ins 564
editor, code
characteristics of 565
jEdit 567
TextPad 567
UNIX editors, Vim, Emacs 568
editor, syntax highlighting 565
Effect object, in Rico 548
element id in DOM, constructing 549
element, HTML, applying styles 37
Emacs, editor 568
encryption
add on client side 276
HTTP headers 274
in HTTPS 264
MD5 algorithm 266
overhead of 265
with plain JavaScript 266
Enter key, event handler for 379
error handling 463, 557
deferring to the application 358
design 358
ignoring errors 381
error, communication 351
ErrorBuildSettings() 451
eval()
handling results with 381
JS function 35, 433
in script-centric interactions 438
performance 433
script context of 187
event handler
adding to list spans 420
attaching programmatically 125
attaching to page DOM element 356
blocking form submit 473
borrowing functions 609
broker object for 407
changing function 498
classic 138
classic JavaScript 134
composite function 81
CSS based 125
custom notify event 156
detecting user actions 375
DOM as context of 610
dymanic substitution 457
Event as argument 610
EventRouter object 143
example 127
function, context for 136
hooking to user actions 22
injecting 402, 406
inline 124
listeners 82
mouse events 420
multiple 81
Observer pattern 80
onclick event 548
onmouseup 448
onreadystatechange 350
onReadyStateChange(), callback 62
portability 128
properties 135
removing 488
retrieveing anonymous function 458
router for 139
using markers 125
W3C multiple event handler system 83
W3C not recommended 138
event model
browser differences 137
calling callback functions 137
classic 134
new W3C 137
normalized in Prototype library 409
event types, multiple 84
event.keyCode, IE property 379
event.srcElement, IE property 379
EventRouter
constructor 141
in ObjectViewer 156
execution context, creating 350
extend(), in Prototype 395
external files
CSS 47
JavaScript 47
F
Façade, design pattern 79
fading transition 512
implementation 525
fading with CSS classes 527
feed count 512
feed management functions 512
fibonacci(count) 290
file links, testing 446
FillDataTable() 338
FillDropDown() 340
FillTerritory() 333
filter
configuration 275
for opacity 525
in Java 430
findUser() 432
Firefox browser, Ajax plug-ins for 563
Flex framework 28
float property 41
CSS 436, 514
CSS attribute to align icons 234
for loop
optimization 290
identical calculations 291
form element, populating with data 332
form, HTML
submit button, disabling 194
validating 194
formatting data
flexibility in 472
with XLST 472
formatting, with CSS 41
Forms arguments 58
Foster, Mike 77, 137
frame
for background processing 469
navigation problems in 469
frame-detection scripts 470
frameworks
Ajax data needs 169
Ajax support 169
Apache Axis 170
Apache Struts 166
component-based 167
DWR 170
event listener 138
event processing in 167
Flex 28
for server side 163
no framework 164
JavaServer Faces 168
Lazlo 28
Model2 166
Object-Relational Mapping 146
SAJAX 170
service-oriented architecture 170
Windows Forms 168
workflow 166
function
() for execution control 593
argument list 607
as object 593, 606
binding to object 609
borrowing from other objects 608
context 609
return type, testing for 605
stand-alone 607
function context 136
in the call() 607
function literals 347
Function object 604
apply() 403, 607
as Command pattern objects 85
call() 76, 606
context of method call 76
in array 595
in command processor 460
using 76
function parameter
checking for null 338
options array 107
functional requirements, for suggest component 393
functions as first-class references 76
functions as objects 591
G
Gamma, Erich 73
garbage-collection 302
determining unused variables 303
Garrett, Jesse J. 4
GET, HTTP method 59
getComputedStyle(), Mozilla method 416
getElementById() 49
getElementsByTagName() 50, 339
getElementsComputedStyle, Rico utility function 416
getLayer() helper method 555
getPortalWindows() 443
getTransport() 348
gif images, with transparency property 42
global variable
alternate to 375
appropriate use 75
avoiding in reusable components 393
for communication 519
for sharing 518
for simplicity 518
inappropriate use 74
var keyword, effect on 349
GMail 24
Google
googleKey access code 258
license key for access 260
SOAP interface to services 253
Google Maps 25
Google Suggest 24, 362
as an Ajax application 23
limits results 364
timers for post backs 364
GrabNumber() 473
graphical user interface, GUI
for message object 225
gray out a window 233
H
handleAjaxResponse() 351
handleError() 351, 358, 463, 557
handleMouseUp() 458
handleTextInput(), of textSuggest 411
HEAD, HTTP method 60
helper functions 84
helper method
example 356
getFirstValue 540
helper objects 346
DBUtil 443
JSUtil 442
portal application 443
hidden field for holding user choice 369
highlighting
for notification 241
list items 383
with CSS 388
horizontal rule in HTML 526
host objects 599
extending 599
HTML
page layout 433
structure for document 43
tree structure of tags 45
web tag in 16
HTML page
as template for code 128
as view in MVC 93, 124
dynamic creation 526, 542
for type ahead suggest 369
HTML page layout
positioning elements on top of each other 516
tables for 511
with CSS 511
HTTP protocol 59
DELETE() 60
GET() 59
HEAD() 60
header 59
header, for security 277
POST() 60
PUT() 60
state free 14
status codes 60
synchronous protocol 14
viewing headers 59
hyperlink 23
Hypertext Transfer Protocol over Secure Socket Layer (HTTPS) 264
browser support for 264
overhead of 265
I
iconized message 230
IDE 568
identification field, in type-ahead suggest 365
IFrame
background processing in 469
communication between 181
description 54
dynamic content display 428
dynamic creation 55
in asynchronous communication 54
in data exchange 178
loading script 184
making invisible 55
separate scriptng context 181
image loading 499
implicit execution context 350
inheritance in JavaScript 597
of prototypes 600
initAjax(), Rico function 401
initializeBehavior() 356
initWindow() 444
injectComponentBehaviors() 354
injecting behavior 399
innerHTML
attaching messages 230
clearing an element 484
property 53
instanceof operator 151, 602
in multiple script context 185
integrated development tool
effect of page-based workflow 563
interaction model in Ajax 65
interface, not explicitly supported in JS 603
Internet Explorer
XSLT processing XSLT 483
zone security model 254
Internet Explorer browser
secruity zones 250
interpreted language 591
issuePortalCommand() 459
isValidRequest() 274
item element in RSS model 538
item elements 520
itemClickHandler handler 420
J
JAR files
for Mozilla browsers 262
keytool for certificates 263
Mozilla tools for signing 263
portability 263
Java 161
filtering HTTP requests 273
server side example 428
Java Web Start 28
application 28
runtime system for 29
JavaCrawl.com for XML feeds 504
JavaScript
$ as function name 395
accesing nested objects 296
accessing the DOM 47
Ajax component 32
apply() method of Function object 403
arguments pseudo array 349
as OO language 143
bracket, and dot notation 141
call stack 573
comparison to other languages 590
constants in 459
context in IFrame 185
conventionl use 21
debugger 572
statement 572
description 35
document variable 45
domain model in 143
dynamic creation 441
dynamic loading 182, 184
function approach 185
object approach 185
problems 185
with SMKHttpRequest 186
eval() 186, 433, 463
execution speed 281
for loop optimization 290
identical calculations 291
functions as objects 76
general purpose 35
global variables as constants 518
global variables in 145
in Ajax application 18
inheritance
in 597
with Prototype library 106
interpreted language 35
loading external file 371
login code 436
loose typing 35
memory managed language 302
mutable function arguments 145
Net.js library 178
object creation 89, 592
on the server 163
patterns and 72
processing with JS disabled 473
properties 590
public and private keys 266
returned from server 432
role in conventional apps 16
scripting languages, and 72
security issues 247
security model 249
setTimeout() problems 243
setting security parameters 535
static function 492
String.split function 128
timers 390, 527528
try...catch blocks 257
types in, Prototype library 394
var keyword and global variables 349
visibility semantics 541
Windows.js library 178
JavaScript Console, viewing permission errors 534
JavaScript Object Notation 593
creates only Object or Array classes 602
description 593
mixing with plain JavaScript 596
object graph, creating 594
using 154
JavaServer Faces (JSF), widgets 168
JDOM library, parsing XML 204
jEdit, editor 567
Johnston, Paul 276
join method, of String 383
JScript .NET, consumes JSON script 192
JScript .NET, JavaScript interpreter 163
JSON 593
JavaScript Object Notation 191
JSON-RPC
application framework 112
library 192
JSUtil
generate JS code 442
initialization code 444
JSWindow library 439, 445
adapting 448
K
key-down event handler 409
keypress, detecting 379
key-up event handler 411
Komodo, IDE 571
L
Laszlo framework 28
layout with CSS 40
layout, reusing 128
layout, using browser engine 133
left and top properties, CSS 450
library
adapting 445
adapting without changing code 456
AjaxWindows.js 456
Behaviour library for event handlers 129
JDOM, XMLparsing 204
JSON-RPC 192
JSWindow 439, 445
adapting 448
MD5 generator 267
overriding functions 456
Prototype for OO programming 105
Sarissa for XML 105
Scriptaculous 243
Scriptaculous for widgets 108
Effects library 108
transition object 109
x library 77
for DHTML 104
line-height property 514
for centering text 436
link element in RSS feed 509
list item, creating 419
list, selecting from 389
listener 138
attaching new 198
live search
description 470
double combination search 487
multiple parameters 487
LiveHTTPHeaders, browser utility 59
load settings command 461
LoadNews() 529
loadPage() 455
loadRSSFeed() in RSSReader object 548, 556
localization, date format 221
login
client side code 433
process 430
verifying 430
login code, JavaScript 436
login command 461
login() 429, 432, 455, 461
M
Macromedia Flash 28
MakeMatches() 383, 386
man-in-the-middle attack 263
many-to-many relationships
implementing in object functions 99
masterComboChanged() 356
MD5 algorithm 266
hex encoded 275
JavaScript library for 267
on server side 267
memory footprint
defined 302
effect of memory management models 322
example 316
freeware tools 315
Drip 315
Sysinternal.com Process Explorer 315
measuring 312
UNIX Top 314
Windows Task Manager 312
memory leak 302
circular reference 305306
clean-up functions 307
closures and 616
dereference a variable 303
disposing of DOM objects 308
in controllers 306
inspecting for 306
memory management 302
example approaches 316
memory usage, JS and DOM objects 281
message granularity, client/server 172
message object 223
automatic rendering 236
constructor 236
options 225
removing 235
self rendering 227
method
defining 598
defining with prototype 598
invoking 598
limiting exposure 172
method scope
sharing across instances 347
specify with prototype 347
Microsoft Script Debugger 577
mobile code
definition 248
technology for 182
modal dialog, implementation 233
model in MVC 143147
example 121
in RSS reader 537
Model2 framework 166
Model-View-Controller
applied to tree widget 121
by refactoring 102
client side, on 122
connecting view and controller 155
coupling model and view 96
defined 91
example 120
in Apache Struts 102
in RSS reader 537
Object-Relational Mapping tools
in 98
separating view and controller 125
separating view and model 125
separation of concerns 122
server side, on 91
using dynamic content creation 130
view
HTML page as 93, 124
XML document as 93
view-model coupling 541
modes, in an application 87
mouseoverHandler handler 420
mouseup event in windows processing 456
MoveFeed(), navigation 532
MoveHighlight() 379, 388
Mozilla browser
PrivilegeManager 254
security restriction 534
XSLT processing 484
Mozilla, signed jar files 262
multiple attribute of select element 343
multiple elements, in type-ahead suggest 392
multiple event callbacks 138
multiple feeds, loading 510
MVC. See Model-View-Controller
myTimeConsumingFunction() 282