5
<title>event/js/synthetic.js - YUI 3</title>
6
<link rel="stylesheet" href="http://yui.yahooapis.com/3.5.0/build/cssgrids/cssgrids-min.css">
7
<link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
8
<link rel="stylesheet" href="../assets/css/main.css" id="site_styles">
9
<script src="http://yui.yahooapis.com/3.5.0/build/yui/yui-min.js"></script>
11
<body class="yui3-skin-sam">
14
<div id="hd" class="yui3-g header">
15
<div class="yui3-u-3-4">
17
<h1><img src="../assets/css/logo.png" title="YUI 3"></h1>
20
<div class="yui3-u-1-4 version">
21
<em>API Docs for: 3.5.1</em>
24
<div id="bd" class="yui3-g">
26
<div class="yui3-u-1-4">
27
<div id="docs-sidebar" class="sidebar apidocs">
29
<h2 class="off-left">APIs</h2>
30
<div id="api-tabview" class="tabview">
32
<li><a href="#api-classes">Classes</a></li>
33
<li><a href="#api-modules">Modules</a></li>
36
<div id="api-tabview-filter">
37
<input type="search" id="api-filter" placeholder="Type to filter APIs">
40
<div id="api-tabview-panel">
41
<ul id="api-classes" class="apis classes">
43
<li><a href="../classes/Anim.html">Anim</a></li>
45
<li><a href="../classes/App.html">App</a></li>
47
<li><a href="../classes/App.Base.html">App.Base</a></li>
49
<li><a href="../classes/App.Transitions.html">App.Transitions</a></li>
51
<li><a href="../classes/App.TransitionsNative.html">App.TransitionsNative</a></li>
53
<li><a href="../classes/AreaSeries.html">AreaSeries</a></li>
55
<li><a href="../classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
57
<li><a href="../classes/Array.html">Array</a></li>
59
<li><a href="../classes/ArrayList.html">ArrayList</a></li>
61
<li><a href="../classes/ArraySort.html">ArraySort</a></li>
63
<li><a href="../classes/AsyncQueue.html">AsyncQueue</a></li>
65
<li><a href="../classes/Attribute.html">Attribute</a></li>
67
<li><a href="../classes/AttributeCore.html">AttributeCore</a></li>
69
<li><a href="../classes/AttributeEvents.html">AttributeEvents</a></li>
71
<li><a href="../classes/AttributeExtras.html">AttributeExtras</a></li>
73
<li><a href="../classes/AttributeLite.html">AttributeLite</a></li>
75
<li><a href="../classes/AutoComplete.html">AutoComplete</a></li>
77
<li><a href="../classes/AutoCompleteBase.html">AutoCompleteBase</a></li>
79
<li><a href="../classes/AutoCompleteFilters.html">AutoCompleteFilters</a></li>
81
<li><a href="../classes/AutoCompleteHighlighters.html">AutoCompleteHighlighters</a></li>
83
<li><a href="../classes/AutoCompleteList.html">AutoCompleteList</a></li>
85
<li><a href="../classes/Axis.html">Axis</a></li>
87
<li><a href="../classes/AxisType.html">AxisType</a></li>
89
<li><a href="../classes/BarSeries.html">BarSeries</a></li>
91
<li><a href="../classes/Base.html">Base</a></li>
93
<li><a href="../classes/BaseCore.html">BaseCore</a></li>
95
<li><a href="../classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
97
<li><a href="../classes/Button.html">Button</a></li>
99
<li><a href="../classes/ButtonCore.html">ButtonCore</a></li>
101
<li><a href="../classes/ButtonGroup.html">ButtonGroup</a></li>
103
<li><a href="../classes/ButtonPlugin.html">ButtonPlugin</a></li>
105
<li><a href="../classes/Cache.html">Cache</a></li>
107
<li><a href="../classes/CacheOffline.html">CacheOffline</a></li>
109
<li><a href="../classes/Calendar.html">Calendar</a></li>
111
<li><a href="../classes/CalendarBase.html">CalendarBase</a></li>
113
<li><a href="../classes/CanvasCircle.html">CanvasCircle</a></li>
115
<li><a href="../classes/CanvasDrawing.html">CanvasDrawing</a></li>
117
<li><a href="../classes/CanvasEllipse.html">CanvasEllipse</a></li>
119
<li><a href="../classes/CanvasGraphic.html">CanvasGraphic</a></li>
121
<li><a href="../classes/CanvasPath.html">CanvasPath</a></li>
123
<li><a href="../classes/CanvasPieSlice.html">CanvasPieSlice</a></li>
125
<li><a href="../classes/CanvasRect.html">CanvasRect</a></li>
127
<li><a href="../classes/CanvasShape.html">CanvasShape</a></li>
129
<li><a href="../classes/CartesianChart.html">CartesianChart</a></li>
131
<li><a href="../classes/CartesianSeries.html">CartesianSeries</a></li>
133
<li><a href="../classes/CategoryAxis.html">CategoryAxis</a></li>
135
<li><a href="../classes/Chart.html">Chart</a></li>
137
<li><a href="../classes/ChartBase.html">ChartBase</a></li>
139
<li><a href="../classes/ChartLegend.html">ChartLegend</a></li>
141
<li><a href="../classes/Circle.html">Circle</a></li>
143
<li><a href="../classes/ClassNameManager.html">ClassNameManager</a></li>
145
<li><a href="../classes/ClickableRail.html">ClickableRail</a></li>
147
<li><a href="../classes/ColumnSeries.html">ColumnSeries</a></li>
149
<li><a href="../classes/ComboSeries.html">ComboSeries</a></li>
151
<li><a href="../classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
153
<li><a href="../classes/config.html">config</a></li>
155
<li><a href="../classes/Console.html">Console</a></li>
157
<li><a href="../classes/Controller.html">Controller</a></li>
159
<li><a href="../classes/Cookie.html">Cookie</a></li>
161
<li><a href="../classes/CurveUtil.html">CurveUtil</a></li>
163
<li><a href="../classes/CustomEvent.html">CustomEvent</a></li>
165
<li><a href="../classes/DataSchema.Array.html">DataSchema.Array</a></li>
167
<li><a href="../classes/DataSchema.Base.html">DataSchema.Base</a></li>
169
<li><a href="../classes/DataSchema.JSON.html">DataSchema.JSON</a></li>
171
<li><a href="../classes/DataSchema.Text.html">DataSchema.Text</a></li>
173
<li><a href="../classes/DataSchema.XML.html">DataSchema.XML</a></li>
175
<li><a href="../classes/DataSource.Function.html">DataSource.Function</a></li>
177
<li><a href="../classes/DataSource.Get.html">DataSource.Get</a></li>
179
<li><a href="../classes/DataSource.IO.html">DataSource.IO</a></li>
181
<li><a href="../classes/DataSource.Local.html">DataSource.Local</a></li>
183
<li><a href="../classes/DataSourceArraySchema.html">DataSourceArraySchema</a></li>
185
<li><a href="../classes/DataSourceCache.html">DataSourceCache</a></li>
187
<li><a href="../classes/DataSourceCacheExtension.html">DataSourceCacheExtension</a></li>
189
<li><a href="../classes/DataSourceJSONSchema.html">DataSourceJSONSchema</a></li>
191
<li><a href="../classes/DataSourceTextSchema.html">DataSourceTextSchema</a></li>
193
<li><a href="../classes/DataSourceXMLSchema.html">DataSourceXMLSchema</a></li>
195
<li><a href="../classes/DataTable.html">DataTable</a></li>
197
<li><a href="../classes/DataTable.Base.html">DataTable.Base</a></li>
199
<li><a href="../classes/DataTable.BodyView.html">DataTable.BodyView</a></li>
201
<li><a href="../classes/DataTable.ColumnWidths.html">DataTable.ColumnWidths</a></li>
203
<li><a href="../classes/DataTable.Core.html">DataTable.Core</a></li>
205
<li><a href="../classes/DataTable.HeaderView.html">DataTable.HeaderView</a></li>
207
<li><a href="../classes/DataTable.Message.html">DataTable.Message</a></li>
209
<li><a href="../classes/DataTable.Mutable.html">DataTable.Mutable</a></li>
211
<li><a href="../classes/DataTable.Scrollable.html">DataTable.Scrollable</a></li>
213
<li><a href="../classes/DataTable.Sortable.html">DataTable.Sortable</a></li>
215
<li><a href="../classes/DataType.Date.html">DataType.Date</a></li>
217
<li><a href="../classes/DataType.Date.Locale.html">DataType.Date.Locale</a></li>
219
<li><a href="../classes/DataType.Number.html">DataType.Number</a></li>
221
<li><a href="../classes/DataType.XML.html">DataType.XML</a></li>
223
<li><a href="../classes/DD.DDM.html">DD.DDM</a></li>
225
<li><a href="../classes/DD.Delegate.html">DD.Delegate</a></li>
227
<li><a href="../classes/DD.Drag.html">DD.Drag</a></li>
229
<li><a href="../classes/DD.Drop.html">DD.Drop</a></li>
231
<li><a href="../classes/DD.Scroll.html">DD.Scroll</a></li>
233
<li><a href="../classes/Dial.html">Dial</a></li>
235
<li><a href="../classes/Do.html">Do</a></li>
237
<li><a href="../classes/Do.AlterArgs.html">Do.AlterArgs</a></li>
239
<li><a href="../classes/Do.AlterReturn.html">Do.AlterReturn</a></li>
241
<li><a href="../classes/Do.Error.html">Do.Error</a></li>
243
<li><a href="../classes/Do.Halt.html">Do.Halt</a></li>
245
<li><a href="../classes/Do.Method.html">Do.Method</a></li>
247
<li><a href="../classes/Do.Prevent.html">Do.Prevent</a></li>
249
<li><a href="../classes/DOM.html">DOM</a></li>
251
<li><a href="../classes/DOMEventFacade.html">DOMEventFacade</a></li>
253
<li><a href="../classes/Drawing.html">Drawing</a></li>
255
<li><a href="../classes/Easing.html">Easing</a></li>
257
<li><a href="../classes/EditorBase.html">EditorBase</a></li>
259
<li><a href="../classes/EditorSelection.html">EditorSelection</a></li>
261
<li><a href="../classes/Ellipse.html">Ellipse</a></li>
263
<li><a href="../classes/EllipseGroup.html">EllipseGroup</a></li>
265
<li><a href="../classes/Escape.html">Escape</a></li>
267
<li><a href="../classes/Event.html">Event</a></li>
269
<li><a href="../classes/EventFacade.html">EventFacade</a></li>
271
<li><a href="../classes/EventHandle.html">EventHandle</a></li>
273
<li><a href="../classes/EventTarget.html">EventTarget</a></li>
275
<li><a href="../classes/ExecCommand.html">ExecCommand</a></li>
277
<li><a href="../classes/Features.html">Features</a></li>
279
<li><a href="../classes/File.html">File</a></li>
281
<li><a href="../classes/FileFlash.html">FileFlash</a></li>
283
<li><a href="../classes/FileHTML5.html">FileHTML5</a></li>
285
<li><a href="../classes/Fills.html">Fills</a></li>
287
<li><a href="../classes/Frame.html">Frame</a></li>
289
<li><a href="../classes/Get.html">Get</a></li>
291
<li><a href="../classes/Get.Transaction.html">Get.Transaction</a></li>
293
<li><a href="../classes/GetNodeJS.html">GetNodeJS</a></li>
295
<li><a href="../classes/Graph.html">Graph</a></li>
297
<li><a href="../classes/Graphic.html">Graphic</a></li>
299
<li><a href="../classes/GraphicBase.html">GraphicBase</a></li>
301
<li><a href="../classes/Gridlines.html">Gridlines</a></li>
303
<li><a href="../classes/GroupCircle.html">GroupCircle</a></li>
305
<li><a href="../classes/GroupDiamond.html">GroupDiamond</a></li>
307
<li><a href="../classes/GroupRect.html">GroupRect</a></li>
309
<li><a href="../classes/Handlebars.html">Handlebars</a></li>
311
<li><a href="../classes/Highlight.html">Highlight</a></li>
313
<li><a href="../classes/Histogram.html">Histogram</a></li>
315
<li><a href="../classes/HistoryBase.html">HistoryBase</a></li>
317
<li><a href="../classes/HistoryHash.html">HistoryHash</a></li>
319
<li><a href="../classes/HistoryHTML5.html">HistoryHTML5</a></li>
321
<li><a href="../classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
323
<li><a href="../classes/ImgLoadGroup.html">ImgLoadGroup</a></li>
325
<li><a href="../classes/ImgLoadImgObj.html">ImgLoadImgObj</a></li>
327
<li><a href="../classes/Intl.html">Intl</a></li>
329
<li><a href="../classes/IO.html">IO</a></li>
331
<li><a href="../classes/JSON.html">JSON</a></li>
333
<li><a href="../classes/JSONPRequest.html">JSONPRequest</a></li>
335
<li><a href="../classes/Lang.html">Lang</a></li>
337
<li><a href="../classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
339
<li><a href="../classes/Lines.html">Lines</a></li>
341
<li><a href="../classes/LineSeries.html">LineSeries</a></li>
343
<li><a href="../classes/Loader.html">Loader</a></li>
345
<li><a href="../classes/MarkerSeries.html">MarkerSeries</a></li>
347
<li><a href="../classes/Matrix.html">Matrix</a></li>
349
<li><a href="../classes/Model.html">Model</a></li>
351
<li><a href="../classes/ModelList.html">ModelList</a></li>
353
<li><a href="../classes/Node.html">Node</a></li>
355
<li><a href="../classes/NodeList.html">NodeList</a></li>
357
<li><a href="../classes/NumericAxis.html">NumericAxis</a></li>
359
<li><a href="../classes/Object.html">Object</a></li>
361
<li><a href="../classes/Overlay.html">Overlay</a></li>
363
<li><a href="../classes/Panel.html">Panel</a></li>
365
<li><a href="../classes/Parallel.html">Parallel</a></li>
367
<li><a href="../classes/Path.html">Path</a></li>
369
<li><a href="../classes/PieChart.html">PieChart</a></li>
371
<li><a href="../classes/PieSeries.html">PieSeries</a></li>
373
<li><a href="../classes/Pjax.html">Pjax</a></li>
375
<li><a href="../classes/PjaxBase.html">PjaxBase</a></li>
377
<li><a href="../classes/Plots.html">Plots</a></li>
379
<li><a href="../classes/Plugin.Align.html">Plugin.Align</a></li>
381
<li><a href="../classes/Plugin.AutoComplete.html">Plugin.AutoComplete</a></li>
383
<li><a href="../classes/Plugin.Base.html">Plugin.Base</a></li>
385
<li><a href="../classes/Plugin.Cache.html">Plugin.Cache</a></li>
387
<li><a href="../classes/Plugin.CalendarNavigator.html">Plugin.CalendarNavigator</a></li>
389
<li><a href="../classes/Plugin.ConsoleFilters.html">Plugin.ConsoleFilters</a></li>
391
<li><a href="../classes/Plugin.CreateLinkBase.html">Plugin.CreateLinkBase</a></li>
393
<li><a href="../classes/Plugin.DataTableDataSource.html">Plugin.DataTableDataSource</a></li>
395
<li><a href="../classes/Plugin.DDConstrained.html">Plugin.DDConstrained</a></li>
397
<li><a href="../classes/Plugin.DDNodeScroll.html">Plugin.DDNodeScroll</a></li>
399
<li><a href="../classes/Plugin.DDProxy.html">Plugin.DDProxy</a></li>
401
<li><a href="../classes/Plugin.DDWindowScroll.html">Plugin.DDWindowScroll</a></li>
403
<li><a href="../classes/Plugin.Drag.html">Plugin.Drag</a></li>
405
<li><a href="../classes/Plugin.Drop.html">Plugin.Drop</a></li>
407
<li><a href="../classes/Plugin.EditorBidi.html">Plugin.EditorBidi</a></li>
409
<li><a href="../classes/Plugin.EditorBR.html">Plugin.EditorBR</a></li>
411
<li><a href="../classes/Plugin.EditorLists.html">Plugin.EditorLists</a></li>
413
<li><a href="../classes/Plugin.EditorPara.html">Plugin.EditorPara</a></li>
415
<li><a href="../classes/Plugin.EditorParaBase.html">Plugin.EditorParaBase</a></li>
417
<li><a href="../classes/Plugin.EditorParaIE.html">Plugin.EditorParaIE</a></li>
419
<li><a href="../classes/Plugin.EditorTab.html">Plugin.EditorTab</a></li>
421
<li><a href="../classes/Plugin.ExecCommand.html">Plugin.ExecCommand</a></li>
423
<li><a href="../classes/Plugin.Flick.html">Plugin.Flick</a></li>
425
<li><a href="../classes/Plugin.Host.html">Plugin.Host</a></li>
427
<li><a href="../classes/plugin.NodeFocusManager.html">plugin.NodeFocusManager</a></li>
429
<li><a href="../classes/Plugin.NodeFX.html">Plugin.NodeFX</a></li>
431
<li><a href="../classes/plugin.NodeMenuNav.html">plugin.NodeMenuNav</a></li>
433
<li><a href="../classes/Plugin.Pjax.html">Plugin.Pjax</a></li>
435
<li><a href="../classes/Plugin.Resize.html">Plugin.Resize</a></li>
437
<li><a href="../classes/Plugin.ResizeConstrained.html">Plugin.ResizeConstrained</a></li>
439
<li><a href="../classes/Plugin.ResizeProxy.html">Plugin.ResizeProxy</a></li>
441
<li><a href="../classes/Plugin.ScrollViewList.html">Plugin.ScrollViewList</a></li>
443
<li><a href="../classes/Plugin.ScrollViewPaginator.html">Plugin.ScrollViewPaginator</a></li>
445
<li><a href="../classes/Plugin.ScrollViewScrollbars.html">Plugin.ScrollViewScrollbars</a></li>
447
<li><a href="../classes/Plugin.Shim.html">Plugin.Shim</a></li>
449
<li><a href="../classes/Plugin.SortScroll.html">Plugin.SortScroll</a></li>
451
<li><a href="../classes/Plugin.WidgetAnim.html">Plugin.WidgetAnim</a></li>
453
<li><a href="../classes/Pollable.html">Pollable</a></li>
455
<li><a href="../classes/Profiler.html">Profiler</a></li>
457
<li><a href="../classes/QueryString.html">QueryString</a></li>
459
<li><a href="../classes/Queue.html">Queue</a></li>
461
<li><a href="../classes/Record.html">Record</a></li>
463
<li><a href="../classes/Recordset.html">Recordset</a></li>
465
<li><a href="../classes/RecordsetFilter.html">RecordsetFilter</a></li>
467
<li><a href="../classes/RecordsetIndexer.html">RecordsetIndexer</a></li>
469
<li><a href="../classes/RecordsetSort.html">RecordsetSort</a></li>
471
<li><a href="../classes/Rect.html">Rect</a></li>
473
<li><a href="../classes/Renderer.html">Renderer</a></li>
475
<li><a href="../classes/Resize.html">Resize</a></li>
477
<li><a href="../classes/RightAxisLayout.html">RightAxisLayout</a></li>
479
<li><a href="../classes/Router.html">Router</a></li>
481
<li><a href="../classes/ScrollView.html">ScrollView</a></li>
483
<li><a href="../classes/Selector.html">Selector</a></li>
485
<li><a href="../classes/Shape.html">Shape</a></li>
487
<li><a href="../classes/ShapeGroup.html">ShapeGroup</a></li>
489
<li><a href="../classes/Slider.html">Slider</a></li>
491
<li><a href="../classes/SliderBase.html">SliderBase</a></li>
493
<li><a href="../classes/SliderValueRange.html">SliderValueRange</a></li>
495
<li><a href="../classes/Sortable.html">Sortable</a></li>
497
<li><a href="../classes/SplineSeries.html">SplineSeries</a></li>
499
<li><a href="../classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
501
<li><a href="../classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
503
<li><a href="../classes/StackedAxis.html">StackedAxis</a></li>
505
<li><a href="../classes/StackedBarSeries.html">StackedBarSeries</a></li>
507
<li><a href="../classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
509
<li><a href="../classes/StackedComboSeries.html">StackedComboSeries</a></li>
511
<li><a href="../classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
513
<li><a href="../classes/StackedLineSeries.html">StackedLineSeries</a></li>
515
<li><a href="../classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
517
<li><a href="../classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
519
<li><a href="../classes/StackingUtil.html">StackingUtil</a></li>
521
<li><a href="../classes/State.html">State</a></li>
523
<li><a href="../classes/StyleSheet.html">StyleSheet</a></li>
525
<li><a href="../classes/Subscriber.html">Subscriber</a></li>
527
<li><a href="../classes/SVGCircle.html">SVGCircle</a></li>
529
<li><a href="../classes/SVGDrawing.html">SVGDrawing</a></li>
531
<li><a href="../classes/SVGEllipse.html">SVGEllipse</a></li>
533
<li><a href="../classes/SVGGraphic.html">SVGGraphic</a></li>
535
<li><a href="../classes/SVGPath.html">SVGPath</a></li>
537
<li><a href="../classes/SVGPieSlice.html">SVGPieSlice</a></li>
539
<li><a href="../classes/SVGRect.html">SVGRect</a></li>
541
<li><a href="../classes/SVGShape.html">SVGShape</a></li>
543
<li><a href="../classes/SWF.html">SWF</a></li>
545
<li><a href="../classes/SWFDetect.html">SWFDetect</a></li>
547
<li><a href="../classes/SyntheticEvent.html">SyntheticEvent</a></li>
549
<li><a href="../classes/SyntheticEvent.Notifier.html">SyntheticEvent.Notifier</a></li>
551
<li><a href="../classes/SynthRegistry.html">SynthRegistry</a></li>
553
<li><a href="../classes/Tab.html">Tab</a></li>
555
<li><a href="../classes/TabView.html">TabView</a></li>
557
<li><a href="../classes/Test.ArrayAssert.html">Test.ArrayAssert</a></li>
559
<li><a href="../classes/Test.Assert.html">Test.Assert</a></li>
561
<li><a href="../classes/Test.AssertionError.html">Test.AssertionError</a></li>
563
<li><a href="../classes/Test.ComparisonFailure.html">Test.ComparisonFailure</a></li>
565
<li><a href="../classes/Test.Console.html">Test.Console</a></li>
567
<li><a href="../classes/Test.CoverageFormat.html">Test.CoverageFormat</a></li>
569
<li><a href="../classes/Test.DateAssert.html">Test.DateAssert</a></li>
571
<li><a href="../classes/Test.EventTarget.html">Test.EventTarget</a></li>
573
<li><a href="../classes/Test.Mock.html">Test.Mock</a></li>
575
<li><a href="../classes/Test.Mock.Value.html">Test.Mock.Value</a></li>
577
<li><a href="../classes/Test.ObjectAssert.html">Test.ObjectAssert</a></li>
579
<li><a href="../classes/Test.Reporter.html">Test.Reporter</a></li>
581
<li><a href="../classes/Test.Results.html">Test.Results</a></li>
583
<li><a href="../classes/Test.Runner.html">Test.Runner</a></li>
585
<li><a href="../classes/Test.ShouldError.html">Test.ShouldError</a></li>
587
<li><a href="../classes/Test.ShouldFail.html">Test.ShouldFail</a></li>
589
<li><a href="../classes/Test.TestCase.html">Test.TestCase</a></li>
591
<li><a href="../classes/Test.TestFormat.html">Test.TestFormat</a></li>
593
<li><a href="../classes/Test.TestNode.html">Test.TestNode</a></li>
595
<li><a href="../classes/Test.TestRunner.html">Test.TestRunner</a></li>
597
<li><a href="../classes/Test.TestSuite.html">Test.TestSuite</a></li>
599
<li><a href="../classes/Test.UnexpectedError.html">Test.UnexpectedError</a></li>
601
<li><a href="../classes/Test.UnexpectedValue.html">Test.UnexpectedValue</a></li>
603
<li><a href="../classes/Test.Wait.html">Test.Wait</a></li>
605
<li><a href="../classes/Text.AccentFold.html">Text.AccentFold</a></li>
607
<li><a href="../classes/Text.WordBreak.html">Text.WordBreak</a></li>
609
<li><a href="../classes/TimeAxis.html">TimeAxis</a></li>
611
<li><a href="../classes/ToggleButton.html">ToggleButton</a></li>
613
<li><a href="../classes/TopAxisLayout.html">TopAxisLayout</a></li>
615
<li><a href="../classes/Transition.html">Transition</a></li>
617
<li><a href="../classes/UA.html">UA</a></li>
619
<li><a href="../classes/Uploader.html">Uploader</a></li>
621
<li><a href="../classes/Uploader.Queue.html">Uploader.Queue</a></li>
623
<li><a href="../classes/UploaderFlash.html">UploaderFlash</a></li>
625
<li><a href="../classes/UploaderHTML5.html">UploaderHTML5</a></li>
627
<li><a href="../classes/ValueChange.html">ValueChange</a></li>
629
<li><a href="../classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
631
<li><a href="../classes/View.html">View</a></li>
633
<li><a href="../classes/View.NodeMap.html">View.NodeMap</a></li>
635
<li><a href="../classes/VMLCircle.html">VMLCircle</a></li>
637
<li><a href="../classes/VMLDrawing.html">VMLDrawing</a></li>
639
<li><a href="../classes/VMLEllipse.html">VMLEllipse</a></li>
641
<li><a href="../classes/VMLGraphic.html">VMLGraphic</a></li>
643
<li><a href="../classes/VMLPath.html">VMLPath</a></li>
645
<li><a href="../classes/VMLPieSlice.html">VMLPieSlice</a></li>
647
<li><a href="../classes/VMLRect.html">VMLRect</a></li>
649
<li><a href="../classes/VMLShape.html">VMLShape</a></li>
651
<li><a href="../classes/Widget.html">Widget</a></li>
653
<li><a href="../classes/WidgetAutohide.html">WidgetAutohide</a></li>
655
<li><a href="../classes/WidgetButtons.html">WidgetButtons</a></li>
657
<li><a href="../classes/WidgetChild.html">WidgetChild</a></li>
659
<li><a href="../classes/WidgetModality.html">WidgetModality</a></li>
661
<li><a href="../classes/WidgetParent.html">WidgetParent</a></li>
663
<li><a href="../classes/WidgetPosition.html">WidgetPosition</a></li>
665
<li><a href="../classes/WidgetPositionAlign.html">WidgetPositionAlign</a></li>
667
<li><a href="../classes/WidgetPositionConstrain.html">WidgetPositionConstrain</a></li>
669
<li><a href="../classes/WidgetStack.html">WidgetStack</a></li>
671
<li><a href="../classes/WidgetStdMod.html">WidgetStdMod</a></li>
673
<li><a href="../classes/YQL.html">YQL</a></li>
675
<li><a href="../classes/YQLRequest.html">YQLRequest</a></li>
677
<li><a href="../classes/YUI.html">YUI</a></li>
679
<li><a href="../classes/YUI~substitute.html">YUI~substitute</a></li>
683
<ul id="api-modules" class="apis modules">
685
<li><a href="../modules/align-plugin.html">align-plugin</a></li>
687
<li><a href="../modules/anim.html">anim</a></li>
689
<li><a href="../modules/anim-base.html">anim-base</a></li>
691
<li><a href="../modules/anim-color.html">anim-color</a></li>
693
<li><a href="../modules/anim-curve.html">anim-curve</a></li>
695
<li><a href="../modules/anim-easing.html">anim-easing</a></li>
697
<li><a href="../modules/anim-node-plugin.html">anim-node-plugin</a></li>
699
<li><a href="../modules/anim-scroll.html">anim-scroll</a></li>
701
<li><a href="../modules/anim-shape-transform.html">anim-shape-transform</a></li>
703
<li><a href="../modules/anim-xy.html">anim-xy</a></li>
705
<li><a href="../modules/app.html">app</a></li>
707
<li><a href="../modules/app-base.html">app-base</a></li>
709
<li><a href="../modules/app-transitions.html">app-transitions</a></li>
711
<li><a href="../modules/app-transitions-native.html">app-transitions-native</a></li>
713
<li><a href="../modules/array-extras.html">array-extras</a></li>
715
<li><a href="../modules/array-invoke.html">array-invoke</a></li>
717
<li><a href="../modules/arraylist.html">arraylist</a></li>
719
<li><a href="../modules/arraylist-add.html">arraylist-add</a></li>
721
<li><a href="../modules/arraylist-filter.html">arraylist-filter</a></li>
723
<li><a href="../modules/arraysort.html">arraysort</a></li>
725
<li><a href="../modules/async-queue.html">async-queue</a></li>
727
<li><a href="../modules/attribute.html">attribute</a></li>
729
<li><a href="../modules/attribute-base.html">attribute-base</a></li>
731
<li><a href="../modules/attribute-complex.html">attribute-complex</a></li>
733
<li><a href="../modules/attribute-core.html">attribute-core</a></li>
735
<li><a href="../modules/attribute-events.html">attribute-events</a></li>
737
<li><a href="../modules/attribute-extras.html">attribute-extras</a></li>
739
<li><a href="../modules/autocomplete.html">autocomplete</a></li>
741
<li><a href="../modules/autocomplete-base.html">autocomplete-base</a></li>
743
<li><a href="../modules/autocomplete-filters.html">autocomplete-filters</a></li>
745
<li><a href="../modules/autocomplete-filters-accentfold.html">autocomplete-filters-accentfold</a></li>
747
<li><a href="../modules/autocomplete-highlighters.html">autocomplete-highlighters</a></li>
749
<li><a href="../modules/autocomplete-highlighters-accentfold.html">autocomplete-highlighters-accentfold</a></li>
751
<li><a href="../modules/autocomplete-list.html">autocomplete-list</a></li>
753
<li><a href="../modules/autocomplete-list-keys.html">autocomplete-list-keys</a></li>
755
<li><a href="../modules/autocomplete-plugin.html">autocomplete-plugin</a></li>
757
<li><a href="../modules/autocomplete-sources.html">autocomplete-sources</a></li>
759
<li><a href="../modules/base.html">base</a></li>
761
<li><a href="../modules/base-base.html">base-base</a></li>
763
<li><a href="../modules/base-build.html">base-build</a></li>
765
<li><a href="../modules/base-core.html">base-core</a></li>
767
<li><a href="../modules/base-pluginhost.html">base-pluginhost</a></li>
769
<li><a href="../modules/button.html">button</a></li>
771
<li><a href="../modules/button-core.html">button-core</a></li>
773
<li><a href="../modules/button-group.html">button-group</a></li>
775
<li><a href="../modules/button-plugin.html">button-plugin</a></li>
777
<li><a href="../modules/cache.html">cache</a></li>
779
<li><a href="../modules/cache-base.html">cache-base</a></li>
781
<li><a href="../modules/cache-offline.html">cache-offline</a></li>
783
<li><a href="../modules/cache-plugin.html">cache-plugin</a></li>
785
<li><a href="../modules/calendar.html">calendar</a></li>
787
<li><a href="../modules/calendar-base.html">calendar-base</a></li>
789
<li><a href="../modules/calendarnavigator.html">calendarnavigator</a></li>
791
<li><a href="../modules/charts.html">charts</a></li>
793
<li><a href="../modules/charts-legend.html">charts-legend</a></li>
795
<li><a href="../modules/classnamemanager.html">classnamemanager</a></li>
797
<li><a href="../modules/clickable-rail.html">clickable-rail</a></li>
799
<li><a href="../modules/collection.html">collection</a></li>
801
<li><a href="../modules/console.html">console</a></li>
803
<li><a href="../modules/console-filters.html">console-filters</a></li>
805
<li><a href="../modules/cookie.html">cookie</a></li>
807
<li><a href="../modules/createlink-base.html">createlink-base</a></li>
809
<li><a href="../modules/dataschema.html">dataschema</a></li>
811
<li><a href="../modules/dataschema-array.html">dataschema-array</a></li>
813
<li><a href="../modules/dataschema-base.html">dataschema-base</a></li>
815
<li><a href="../modules/dataschema-json.html">dataschema-json</a></li>
817
<li><a href="../modules/dataschema-text.html">dataschema-text</a></li>
819
<li><a href="../modules/dataschema-xml.html">dataschema-xml</a></li>
821
<li><a href="../modules/datasource.html">datasource</a></li>
823
<li><a href="../modules/datasource-arrayschema.html">datasource-arrayschema</a></li>
825
<li><a href="../modules/datasource-cache.html">datasource-cache</a></li>
827
<li><a href="../modules/datasource-function.html">datasource-function</a></li>
829
<li><a href="../modules/datasource-get.html">datasource-get</a></li>
831
<li><a href="../modules/datasource-io.html">datasource-io</a></li>
833
<li><a href="../modules/datasource-jsonschema.html">datasource-jsonschema</a></li>
835
<li><a href="../modules/datasource-local.html">datasource-local</a></li>
837
<li><a href="../modules/datasource-polling.html">datasource-polling</a></li>
839
<li><a href="../modules/datasource-textschema.html">datasource-textschema</a></li>
841
<li><a href="../modules/datasource-xmlschema.html">datasource-xmlschema</a></li>
843
<li><a href="../modules/datatable.html">datatable</a></li>
845
<li><a href="../modules/datatable-base.html">datatable-base</a></li>
847
<li><a href="../modules/datatable-base-deprecated.html">datatable-base-deprecated</a></li>
849
<li><a href="../modules/datatable-body.html">datatable-body</a></li>
851
<li><a href="../modules/datatable-column-widths.html">datatable-column-widths</a></li>
853
<li><a href="../modules/datatable-core.html">datatable-core</a></li>
855
<li><a href="../modules/datatable-datasource.html">datatable-datasource</a></li>
857
<li><a href="../modules/datatable-datasource-deprecated.html">datatable-datasource-deprecated</a></li>
859
<li><a href="../modules/datatable-deprecated.html">datatable-deprecated</a></li>
861
<li><a href="../modules/datatable-head.html">datatable-head</a></li>
863
<li><a href="../modules/datatable-message.html">datatable-message</a></li>
865
<li><a href="../modules/datatable-mutable.html">datatable-mutable</a></li>
867
<li><a href="../modules/datatable-scroll.html">datatable-scroll</a></li>
869
<li><a href="../modules/datatable-scroll-deprecated.html">datatable-scroll-deprecated</a></li>
871
<li><a href="../modules/datatable-sort.html">datatable-sort</a></li>
873
<li><a href="../modules/datatable-sort-deprecated.html">datatable-sort-deprecated</a></li>
875
<li><a href="../modules/datatype.html">datatype</a></li>
877
<li><a href="../modules/datatype-date.html">datatype-date</a></li>
879
<li><a href="../modules/datatype-date-format.html">datatype-date-format</a></li>
881
<li><a href="../modules/datatype-date-math.html">datatype-date-math</a></li>
883
<li><a href="../modules/datatype-date-parse.html">datatype-date-parse</a></li>
885
<li><a href="../modules/datatype-number.html">datatype-number</a></li>
887
<li><a href="../modules/datatype-number-format.html">datatype-number-format</a></li>
889
<li><a href="../modules/datatype-number-parse.html">datatype-number-parse</a></li>
891
<li><a href="../modules/datatype-xml.html">datatype-xml</a></li>
893
<li><a href="../modules/datatype-xml-format.html">datatype-xml-format</a></li>
895
<li><a href="../modules/datatype-xml-parse.html">datatype-xml-parse</a></li>
897
<li><a href="../modules/dd.html">dd</a></li>
899
<li><a href="../modules/dd-constrain.html">dd-constrain</a></li>
901
<li><a href="../modules/dd-ddm.html">dd-ddm</a></li>
903
<li><a href="../modules/dd-ddm-base.html">dd-ddm-base</a></li>
905
<li><a href="../modules/dd-ddm-drop.html">dd-ddm-drop</a></li>
907
<li><a href="../modules/dd-delegate.html">dd-delegate</a></li>
909
<li><a href="../modules/dd-drag.html">dd-drag</a></li>
911
<li><a href="../modules/dd-drop.html">dd-drop</a></li>
913
<li><a href="../modules/dd-drop-plugin.html">dd-drop-plugin</a></li>
915
<li><a href="../modules/dd-plugin.html">dd-plugin</a></li>
917
<li><a href="../modules/dd-proxy.html">dd-proxy</a></li>
919
<li><a href="../modules/dd-scroll.html">dd-scroll</a></li>
921
<li><a href="../modules/dial.html">dial</a></li>
923
<li><a href="../modules/dom.html">dom</a></li>
925
<li><a href="../modules/dom-base.html">dom-base</a></li>
927
<li><a href="../modules/dom-screen.html">dom-screen</a></li>
929
<li><a href="../modules/dom-style.html">dom-style</a></li>
931
<li><a href="../modules/dump.html">dump</a></li>
933
<li><a href="../modules/editor.html">editor</a></li>
935
<li><a href="../modules/editor-base.html">editor-base</a></li>
937
<li><a href="../modules/editor-bidi.html">editor-bidi</a></li>
939
<li><a href="../modules/editor-br.html">editor-br</a></li>
941
<li><a href="../modules/editor-lists.html">editor-lists</a></li>
943
<li><a href="../modules/editor-para.html">editor-para</a></li>
945
<li><a href="../modules/editor-para-base.html">editor-para-base</a></li>
947
<li><a href="../modules/editor-para-ie.html">editor-para-ie</a></li>
949
<li><a href="../modules/editor-tab.html">editor-tab</a></li>
951
<li><a href="../modules/escape.html">escape</a></li>
953
<li><a href="../modules/event.html">event</a></li>
955
<li><a href="../modules/event-base.html">event-base</a></li>
957
<li><a href="../modules/event-contextmenu.html">event-contextmenu</a></li>
959
<li><a href="../modules/event-custom.html">event-custom</a></li>
961
<li><a href="../modules/event-custom-base.html">event-custom-base</a></li>
963
<li><a href="../modules/event-custom-complex.html">event-custom-complex</a></li>
965
<li><a href="../modules/event-delegate.html">event-delegate</a></li>
967
<li><a href="../modules/event-flick.html">event-flick</a></li>
969
<li><a href="../modules/event-focus.html">event-focus</a></li>
971
<li><a href="../modules/event-gestures.html">event-gestures</a></li>
973
<li><a href="../modules/event-hover.html">event-hover</a></li>
975
<li><a href="../modules/event-key.html">event-key</a></li>
977
<li><a href="../modules/event-mouseenter.html">event-mouseenter</a></li>
979
<li><a href="../modules/event-mousewheel.html">event-mousewheel</a></li>
981
<li><a href="../modules/event-move.html">event-move</a></li>
983
<li><a href="../modules/event-outside.html">event-outside</a></li>
985
<li><a href="../modules/event-resize.html">event-resize</a></li>
987
<li><a href="../modules/event-simulate.html">event-simulate</a></li>
989
<li><a href="../modules/event-synthetic.html">event-synthetic</a></li>
991
<li><a href="../modules/event-touch.html">event-touch</a></li>
993
<li><a href="../modules/event-valuechange.html">event-valuechange</a></li>
995
<li><a href="../modules/exec-command.html">exec-command</a></li>
997
<li><a href="../modules/features.html">features</a></li>
999
<li><a href="../modules/file.html">file</a></li>
1001
<li><a href="../modules/file-flash.html">file-flash</a></li>
1003
<li><a href="../modules/file-html5.html">file-html5</a></li>
1005
<li><a href="../modules/frame.html">frame</a></li>
1007
<li><a href="../modules/get.html">get</a></li>
1009
<li><a href="../modules/get-nodejs.html">get-nodejs</a></li>
1011
<li><a href="../modules/graphics.html">graphics</a></li>
1013
<li><a href="../modules/handlebars.html">handlebars</a></li>
1015
<li><a href="../modules/handlebars-base.html">handlebars-base</a></li>
1017
<li><a href="../modules/handlebars-compiler.html">handlebars-compiler</a></li>
1019
<li><a href="../modules/highlight.html">highlight</a></li>
1021
<li><a href="../modules/highlight-accentfold.html">highlight-accentfold</a></li>
1023
<li><a href="../modules/highlight-base.html">highlight-base</a></li>
1025
<li><a href="../modules/history.html">history</a></li>
1027
<li><a href="../modules/history-base.html">history-base</a></li>
1029
<li><a href="../modules/history-hash.html">history-hash</a></li>
1031
<li><a href="../modules/history-hash-ie.html">history-hash-ie</a></li>
1033
<li><a href="../modules/history-html5.html">history-html5</a></li>
1035
<li><a href="../modules/imageloader.html">imageloader</a></li>
1037
<li><a href="../modules/intl.html">intl</a></li>
1039
<li><a href="../modules/io.html">io</a></li>
1041
<li><a href="../modules/io-base.html">io-base</a></li>
1043
<li><a href="../modules/io-form.html">io-form</a></li>
1045
<li><a href="../modules/io-queue.html">io-queue</a></li>
1047
<li><a href="../modules/io-upload-iframe.html">io-upload-iframe</a></li>
1049
<li><a href="../modules/io-xdr.html">io-xdr</a></li>
1051
<li><a href="../modules/json.html">json</a></li>
1053
<li><a href="../modules/json-parse.html">json-parse</a></li>
1055
<li><a href="../modules/json-stringify.html">json-stringify</a></li>
1057
<li><a href="../modules/jsonp.html">jsonp</a></li>
1059
<li><a href="../modules/jsonp-url.html">jsonp-url</a></li>
1061
<li><a href="../modules/loader.html">loader</a></li>
1063
<li><a href="../modules/loader-base.html">loader-base</a></li>
1065
<li><a href="../modules/matrix.html">matrix</a></li>
1067
<li><a href="../modules/model.html">model</a></li>
1069
<li><a href="../modules/model-list.html">model-list</a></li>
1071
<li><a href="../modules/node.html">node</a></li>
1073
<li><a href="../modules/node-base.html">node-base</a></li>
1075
<li><a href="../modules/node-core.html">node-core</a></li>
1077
<li><a href="../modules/node-data.html">node-data</a></li>
1079
<li><a href="../modules/node-deprecated.html">node-deprecated</a></li>
1081
<li><a href="../modules/node-event-delegate.html">node-event-delegate</a></li>
1083
<li><a href="../modules/node-event-html5.html">node-event-html5</a></li>
1085
<li><a href="../modules/node-event-simulate.html">node-event-simulate</a></li>
1087
<li><a href="../modules/node-flick.html">node-flick</a></li>
1089
<li><a href="../modules/node-focusmanager.html">node-focusmanager</a></li>
1091
<li><a href="../modules/node-load.html">node-load</a></li>
1093
<li><a href="../modules/node-menunav.html">node-menunav</a></li>
1095
<li><a href="../modules/node-pluginhost.html">node-pluginhost</a></li>
1097
<li><a href="../modules/node-screen.html">node-screen</a></li>
1099
<li><a href="../modules/node-style.html">node-style</a></li>
1101
<li><a href="../modules/oop.html">oop</a></li>
1103
<li><a href="../modules/overlay.html">overlay</a></li>
1105
<li><a href="../modules/panel.html">panel</a></li>
1107
<li><a href="../modules/parallel.html">parallel</a></li>
1109
<li><a href="../modules/pjax.html">pjax</a></li>
1111
<li><a href="../modules/pjax-base.html">pjax-base</a></li>
1113
<li><a href="../modules/pjax-plugin.html">pjax-plugin</a></li>
1115
<li><a href="../modules/plugin.html">plugin</a></li>
1117
<li><a href="../modules/pluginhost.html">pluginhost</a></li>
1119
<li><a href="../modules/pluginhost-base.html">pluginhost-base</a></li>
1121
<li><a href="../modules/pluginhost-config.html">pluginhost-config</a></li>
1123
<li><a href="../modules/profiler.html">profiler</a></li>
1125
<li><a href="../modules/querystring.html">querystring</a></li>
1127
<li><a href="../modules/querystring-parse.html">querystring-parse</a></li>
1129
<li><a href="../modules/querystring-parse-simple.html">querystring-parse-simple</a></li>
1131
<li><a href="../modules/querystring-stringify.html">querystring-stringify</a></li>
1133
<li><a href="../modules/querystring-stringify-simple.html">querystring-stringify-simple</a></li>
1135
<li><a href="../modules/queue-promote.html">queue-promote</a></li>
1137
<li><a href="../modules/range-slider.html">range-slider</a></li>
1139
<li><a href="../modules/recordset.html">recordset</a></li>
1141
<li><a href="../modules/recordset-base.html">recordset-base</a></li>
1143
<li><a href="../modules/recordset-filter.html">recordset-filter</a></li>
1145
<li><a href="../modules/recordset-indexer.html">recordset-indexer</a></li>
1147
<li><a href="../modules/recordset-sort.html">recordset-sort</a></li>
1149
<li><a href="../modules/resize.html">resize</a></li>
1151
<li><a href="../modules/resize-contrain.html">resize-contrain</a></li>
1153
<li><a href="../modules/resize-plugin.html">resize-plugin</a></li>
1155
<li><a href="../modules/resize-proxy.html">resize-proxy</a></li>
1157
<li><a href="../modules/rollup.html">rollup</a></li>
1159
<li><a href="../modules/router.html">router</a></li>
1161
<li><a href="../modules/scrollview.html">scrollview</a></li>
1163
<li><a href="../modules/scrollview-base.html">scrollview-base</a></li>
1165
<li><a href="../modules/scrollview-base-ie.html">scrollview-base-ie</a></li>
1167
<li><a href="../modules/scrollview-list.html">scrollview-list</a></li>
1169
<li><a href="../modules/scrollview-paginator.html">scrollview-paginator</a></li>
1171
<li><a href="../modules/scrollview-scrollbars.html">scrollview-scrollbars</a></li>
1173
<li><a href="../modules/selection.html">selection</a></li>
1175
<li><a href="../modules/selector-css2.html">selector-css2</a></li>
1177
<li><a href="../modules/selector-css3.html">selector-css3</a></li>
1179
<li><a href="../modules/selector-native.html">selector-native</a></li>
1181
<li><a href="../modules/shim-plugin.html">shim-plugin</a></li>
1183
<li><a href="../modules/slider.html">slider</a></li>
1185
<li><a href="../modules/slider-base.html">slider-base</a></li>
1187
<li><a href="../modules/slider-value-range.html">slider-value-range</a></li>
1189
<li><a href="../modules/sortable.html">sortable</a></li>
1191
<li><a href="../modules/sortable-scroll.html">sortable-scroll</a></li>
1193
<li><a href="../modules/stylesheet.html">stylesheet</a></li>
1195
<li><a href="../modules/substitute.html">substitute</a></li>
1197
<li><a href="../modules/swf.html">swf</a></li>
1199
<li><a href="../modules/swfdetect.html">swfdetect</a></li>
1201
<li><a href="../modules/tabview.html">tabview</a></li>
1203
<li><a href="../modules/test.html">test</a></li>
1205
<li><a href="../modules/test-console.html">test-console</a></li>
1207
<li><a href="../modules/text.html">text</a></li>
1209
<li><a href="../modules/text-accentfold.html">text-accentfold</a></li>
1211
<li><a href="../modules/text-wordbreak.html">text-wordbreak</a></li>
1213
<li><a href="../modules/transition.html">transition</a></li>
1215
<li><a href="../modules/uploader.html">uploader</a></li>
1217
<li><a href="../modules/uploader-deprecated.html">uploader-deprecated</a></li>
1219
<li><a href="../modules/uploader-flash.html">uploader-flash</a></li>
1221
<li><a href="../modules/uploader-html5.html">uploader-html5</a></li>
1223
<li><a href="../modules/uploader-queue.html">uploader-queue</a></li>
1225
<li><a href="../modules/view.html">view</a></li>
1227
<li><a href="../modules/view-node-map.html">view-node-map</a></li>
1229
<li><a href="../modules/widget.html">widget</a></li>
1231
<li><a href="../modules/widget-anim.html">widget-anim</a></li>
1233
<li><a href="../modules/widget-autohide.html">widget-autohide</a></li>
1235
<li><a href="../modules/widget-base.html">widget-base</a></li>
1237
<li><a href="../modules/widget-base-ie.html">widget-base-ie</a></li>
1239
<li><a href="../modules/widget-buttons.html">widget-buttons</a></li>
1241
<li><a href="../modules/widget-child.html">widget-child</a></li>
1243
<li><a href="../modules/widget-htmlparser.html">widget-htmlparser</a></li>
1245
<li><a href="../modules/widget-locale.html">widget-locale</a></li>
1247
<li><a href="../modules/widget-modality.html">widget-modality</a></li>
1249
<li><a href="../modules/widget-parent.html">widget-parent</a></li>
1251
<li><a href="../modules/widget-position.html">widget-position</a></li>
1253
<li><a href="../modules/widget-position-align.html">widget-position-align</a></li>
1255
<li><a href="../modules/widget-position-constrain.html">widget-position-constrain</a></li>
1257
<li><a href="../modules/widget-skin.html">widget-skin</a></li>
1259
<li><a href="../modules/widget-stack.html">widget-stack</a></li>
1261
<li><a href="../modules/widget-stdmod.html">widget-stdmod</a></li>
1263
<li><a href="../modules/widget-uievents.html">widget-uievents</a></li>
1265
<li><a href="../modules/yql.html">yql</a></li>
1267
<li><a href="../modules/yui.html">yui</a></li>
1269
<li><a href="../modules/yui-base.html">yui-base</a></li>
1271
<li><a href="../modules/yui-later.html">yui-later</a></li>
1273
<li><a href="../modules/yui-log.html">yui-log</a></li>
1275
<li><a href="../modules/yui-throttle.html">yui-throttle</a></li>
1277
<li><a href="../modules/yui3.html">yui3</a></li>
1286
<div class="yui3-u-3-4">
1287
<div id="api-options">
1289
<label for="api-show-inherited">
1290
<input type="checkbox" id="api-show-inherited" checked>
1294
<label for="api-show-protected">
1295
<input type="checkbox" id="api-show-protected">
1299
<label for="api-show-private">
1300
<input type="checkbox" id="api-show-private">
1306
<div class="apidocs">
1307
<div id="docs-main">
1308
<div class="content">
1309
<h1 class="file-heading">File: event/js/synthetic.js</h1>
1312
<pre class="code prettyprint linenums">
1314
* Define new DOM events that can be subscribed to from Nodes.
1317
* @submodule event-synthetic
1319
var DOMMap = Y.Env.evt.dom_map,
1322
isObject = YLang.isObject,
1323
isString = YLang.isString,
1324
isArray = YLang.isArray,
1325
query = Y.Selector.query,
1326
noop = function () {};
1329
* <p>The triggering mechanism used by SyntheticEvents.</p>
1331
* <p>Implementers should not instantiate these directly. Use the Notifier
1332
* provided to the event's implemented <code>on(node, sub, notifier)</code> or
1333
* <code>delegate(node, sub, notifier, filter)</code> methods.</p>
1335
* @class SyntheticEvent.Notifier
1337
* @param handle {EventHandle} the detach handle for the subscription to an
1338
* internal custom event used to execute the callback passed to
1339
* on(..) or delegate(..)
1340
* @param emitFacade {Boolean} take steps to ensure the first arg received by
1341
* the subscription callback is an event facade
1345
function Notifier(handle, emitFacade) {
1346
this.handle = handle;
1347
this.emitFacade = emitFacade;
1351
* <p>Executes the subscription callback, passing the firing arguments as the
1352
* first parameters to that callback. For events that are configured with
1353
* emitFacade=true, it is common practice to pass the triggering DOMEventFacade
1354
* as the first parameter. Barring a proper DOMEventFacade or EventFacade
1355
* (from a CustomEvent), a new EventFacade will be generated. In that case, if
1356
* fire() is called with a simple object, it will be mixed into the facade.
1357
* Otherwise, the facade will be prepended to the callback parameters.</p>
1359
* <p>For notifiers provided to delegate logic, the first argument should be an
1360
* object with a &quot;currentTarget&quot; property to identify what object to
1361
* default as 'this' in the callback. Typically this is gleaned from the
1362
* DOMEventFacade or EventFacade, but if configured with emitFacade=false, an
1363
* object must be provided. In that case, the object will be removed from the
1364
* callback parameters.</p>
1366
* <p>Additional arguments passed during event subscription will be
1367
* automatically added after those passed to fire().</p>
1370
* @param e {EventFacade|DOMEventFacade|Object|any} (see description)
1371
* @param arg* {any} additional arguments received by all subscriptions
1374
Notifier.prototype.fire = function (e) {
1375
// first arg to delegate notifier should be an object with currentTarget
1376
var args = toArray(arguments, 0, true),
1377
handle = this.handle,
1380
thisObj = sub.context,
1381
delegate = sub.filter,
1385
if (this.emitFacade) {
1386
if (!e || !e.preventDefault) {
1387
event = ce._getFacade();
1389
if (isObject(e) && !e.preventDefault) {
1390
Y.mix(event, e, true);
1393
args.unshift(event);
1397
event.type = ce.type;
1398
event.details = args.slice();
1401
event.container = ce.host;
1403
} else if (delegate && isObject(e) && e.currentTarget) {
1407
sub.context = thisObj || event.currentTarget || ce.host;
1408
ret = ce.fire.apply(ce, args);
1409
sub.context = thisObj; // reset for future firing
1411
// to capture callbacks that return false to stopPropagation.
1412
// Useful for delegate implementations
1417
* Manager object for synthetic event subscriptions to aggregate multiple synths on the same node without colliding with actual DOM subscription entries in the global map of DOM subscriptions. Also facilitates proper cleanup on page unload.
1419
* @class SynthRegistry
1421
* @param el {HTMLElement} the DOM element
1422
* @param yuid {String} the yuid stamp for the element
1423
* @param key {String} the generated id token used to identify an event type +
1424
* element in the global DOM subscription map.
1427
function SynthRegistry(el, yuid, key) {
1434
SynthRegistry.prototype = {
1435
constructor: SynthRegistry,
1437
// A few object properties to fake the CustomEvent interface for page
1438
// unload cleanup. DON'T TOUCH!
1439
type : '_synth',
1444
* Adds a subscription from the Notifier registry.
1447
* @param handle {EventHandle} the subscription
1450
register: function (handle) {
1451
handle.evt.registry = this;
1452
this.handles.push(handle);
1456
* Removes the subscription from the Notifier registry.
1458
* @method _unregisterSub
1459
* @param sub {Subscription} the subscription
1462
unregister: function (sub) {
1463
var handles = this.handles,
1464
events = DOMMap[this.domkey],
1467
for (i = handles.length - 1; i >= 0; --i) {
1468
if (handles[i].sub === sub) {
1469
handles.splice(i, 1);
1474
// Clean up left over objects when there are no more subscribers.
1475
if (!handles.length) {
1476
delete events[this.key];
1477
if (!Y.Object.size(events)) {
1478
delete DOMMap[this.domkey];
1484
* Used by the event system's unload cleanup process. When navigating
1485
* away from the page, the event system iterates the global map of element
1486
* subscriptions and detaches everything using detachAll(). Normally,
1487
* the map is populated with custom events, so this object needs to
1488
* at least support the detachAll method to duck type its way to
1495
detachAll : function () {
1496
var handles = this.handles,
1499
while (--i >= 0) {
1500
handles[i].detach();
1506
* <p>Wrapper class for the integration of new events into the YUI event
1507
* infrastructure. Don't instantiate this object directly, use
1508
* <code>Y.Event.define(type, config)</code>. See that method for details.</p>
1510
* <p>Properties that MAY or SHOULD be specified in the configuration are noted
1511
* below and in the description of <code>Y.Event.define</code>.</p>
1513
* @class SyntheticEvent
1515
* @param cfg {Object} Implementation pieces and configuration
1517
* @in event-synthetic
1519
function SyntheticEvent() {
1520
this._init.apply(this, arguments);
1523
Y.mix(SyntheticEvent, {
1525
SynthRegistry: SynthRegistry,
1528
* Returns the array of subscription handles for a node for the given event
1529
* type. Passing true as the third argument will create a registry entry
1530
* in the event system's DOM map to host the array if one doesn't yet exist.
1532
* @method getRegistry
1533
* @param node {Node} the node
1534
* @param type {String} the event
1535
* @param create {Boolean} create a registration entry to host a new array
1536
* if one doesn't exist.
1542
getRegistry: function (node, type, create) {
1543
var el = node._node,
1545
key = 'event:' + yuid + type + '_synth',
1546
events = DOMMap[yuid];
1550
events = DOMMap[yuid] = {};
1553
events[key] = new SynthRegistry(el, yuid, key);
1557
return (events && events[key]) || null;
1561
* Alternate <code>_delete()</code> method for the CustomEvent object
1562
* created to manage SyntheticEvent subscriptions.
1564
* @method _deleteSub
1565
* @param sub {Subscription} the subscription to clean up
1569
_deleteSub: function (sub) {
1570
if (sub && sub.fn) {
1571
var synth = this.eventDef,
1572
method = (sub.filter) ? 'detachDelegate' : 'detach';
1574
this.subscribers = {};
1577
synth[method](sub.node, sub, this.notifier, sub.filter);
1578
this.registry.unregister(sub);
1587
constructor: SyntheticEvent,
1590
* Construction logic for the event.
1595
_init: function () {
1596
var config = this.publishConfig || (this.publishConfig = {});
1598
// The notification mechanism handles facade creation
1599
this.emitFacade = ('emitFacade' in config) ?
1602
config.emitFacade = false;
1606
* <p>Implementers MAY provide this method definition.</p>
1608
* <p>Implement this function if the event supports a different
1609
* subscription signature. This function is used by both
1610
* <code>on()</code> and <code>delegate()</code>. The second parameter
1611
* indicates that the event is being subscribed via
1612
* <code>delegate()</code>.</p>
1614
* <p>Implementations must remove extra arguments from the args list
1615
* before returning. The required args for <code>on()</code>
1616
* subscriptions are</p>
1617
* <pre><code>[type, callback, target, context, argN...]</code></pre>
1619
* <p>The required args for <code>delegate()</code>
1620
* subscriptions are</p>
1622
* <pre><code>[type, callback, target, filter, context, argN...]</code></pre>
1624
* <p>The return value from this function will be stored on the
1625
* subscription in the '_extra' property for reference elsewhere.</p>
1627
* @method processArgs
1628
* @param args {Array} parmeters passed to Y.on(..) or Y.delegate(..)
1629
* @param delegate {Boolean} true if the subscription is from Y.delegate
1635
* <p>Implementers MAY override this property.</p>
1637
* <p>Whether to prevent multiple subscriptions to this event that are
1638
* classified as being the same. By default, this means the subscribed
1639
* callback is the same function. See the <code>subMatch</code>
1640
* method. Setting this to true will impact performance for high volume
1641
* events.</p>
1643
* @property preventDups
1647
//preventDups : false,
1650
* <p>Implementers SHOULD provide this method definition.</p>
1652
* Implementation logic for subscriptions done via <code>node.on(type,
1653
* fn)</code> or <code>Y.on(type, fn, target)</code>. This
1654
* function should set up the monitor(s) that will eventually fire the
1655
* event. Typically this involves subscribing to at least one DOM
1656
* event. It is recommended to store detach handles from any DOM
1657
* subscriptions to make for easy cleanup in the <code>detach</code>
1658
* method. Typically these handles are added to the <code>sub</code>
1659
* object. Also for SyntheticEvents that leverage a single DOM
1660
* subscription under the hood, it is recommended to pass the DOM event
1661
* object to <code>notifier.fire(e)</code>. (The event name on the
1662
* object will be updated).
1665
* @param node {Node} the node the subscription is being applied to
1666
* @param sub {Subscription} the object to track this subscription
1667
* @param notifier {SyntheticEvent.Notifier} call notifier.fire(..) to
1668
* trigger the execution of the subscribers
1673
* <p>Implementers SHOULD provide this method definition.</p>
1675
* <p>Implementation logic for detaching subscriptions done via
1676
* <code>node.on(type, fn)</code>. This function should clean up any
1677
* subscriptions made in the <code>on()</code> phase.</p>
1680
* @param node {Node} the node the subscription was applied to
1681
* @param sub {Subscription} the object tracking this subscription
1682
* @param notifier {SyntheticEvent.Notifier} the Notifier used to
1683
* trigger the execution of the subscribers
1688
* <p>Implementers SHOULD provide this method definition.</p>
1690
* <p>Implementation logic for subscriptions done via
1691
* <code>node.delegate(type, fn, filter)</code> or
1692
* <code>Y.delegate(type, fn, container, filter)</code>. Like with
1693
* <code>on()</code> above, this function should monitor the environment
1694
* for the event being fired, and trigger subscription execution by
1695
* calling <code>notifier.fire(e)</code>.</p>
1697
* <p>This function receives a fourth argument, which is the filter
1698
* used to identify which Node's are of interest to the subscription.
1699
* The filter will be either a boolean function that accepts a target
1700
* Node for each hierarchy level as the event bubbles, or a selector
1701
* string. To translate selector strings into filter functions, use
1702
* <code>Y.delegate.compileFilter(filter)</code>.</p>
1705
* @param node {Node} the node the subscription is being applied to
1706
* @param sub {Subscription} the object to track this subscription
1707
* @param notifier {SyntheticEvent.Notifier} call notifier.fire(..) to
1708
* trigger the execution of the subscribers
1709
* @param filter {String|Function} Selector string or function that
1710
* accepts an event object and returns null, a Node, or an
1711
* array of Nodes matching the criteria for processing.
1717
* <p>Implementers SHOULD provide this method definition.</p>
1719
* <p>Implementation logic for detaching subscriptions done via
1720
* <code>node.delegate(type, fn, filter)</code> or
1721
* <code>Y.delegate(type, fn, container, filter)</code>. This function
1722
* should clean up any subscriptions made in the
1723
* <code>delegate()</code> phase.</p>
1725
* @method detachDelegate
1726
* @param node {Node} the node the subscription was applied to
1727
* @param sub {Subscription} the object tracking this subscription
1728
* @param notifier {SyntheticEvent.Notifier} the Notifier used to
1729
* trigger the execution of the subscribers
1730
* @param filter {String|Function} Selector string or function that
1731
* accepts an event object and returns null, a Node, or an
1732
* array of Nodes matching the criteria for processing.
1735
detachDelegate : noop,
1738
* Sets up the boilerplate for detaching the event and facilitating the
1739
* execution of subscriber callbacks.
1742
* @param args {Array} array of arguments passed to
1743
* <code>Y.on(...)</code> or <code>Y.delegate(...)</code>
1744
* @param delegate {Boolean} true if called from
1745
* <code>Y.delegate(...)</code>
1746
* @return {EventHandle} the detach handle for this subscription
1750
_on: function (args, delegate) {
1752
originalArgs = args.slice(),
1753
extra = this.processArgs(args, delegate),
1755
method = delegate ? 'delegate' : 'on',
1758
// Can't just use Y.all because it doesn't support window (yet?)
1759
nodes = (isString(selector)) ?
1761
toArray(selector || Y.one(Y.config.win));
1763
if (!nodes.length && isString(selector)) {
1764
handle = Y.on('available', function () {
1765
Y.mix(handle, Y[method].apply(Y, originalArgs), true);
1771
Y.Array.each(nodes, function (node) {
1772
var subArgs = args.slice(),
1779
filter = subArgs.splice(3, 1)[0];
1782
// (type, fn, el, thisObj, ...) => (fn, thisObj, ...)
1783
subArgs.splice(0, 4, subArgs[1], subArgs[3]);
1785
if (!this.preventDups ||
1786
!this.getSubs(node, args, null, true))
1788
handles.push(this._subscribe(node, method, subArgs, extra, filter));
1793
return (handles.length === 1) ?
1795
new Y.EventHandle(handles);
1799
* Creates a new Notifier object for use by this event's
1800
* <code>on(...)</code> or <code>delegate(...)</code> implementation
1801
* and register the custom event proxy in the DOM system for cleanup.
1803
* @method _subscribe
1804
* @param node {Node} the Node hosting the event
1805
* @param method {String} "on" or "delegate"
1806
* @param args {Array} the subscription arguments passed to either
1807
* <code>Y.on(...)</code> or <code>Y.delegate(...)</code>
1808
* after running through <code>processArgs(args)</code> to
1809
* normalize the argument signature
1810
* @param extra {any} Extra data parsed from
1811
* <code>processArgs(args)</code>
1812
* @param filter {String|Function} the selector string or function
1813
* filter passed to <code>Y.delegate(...)</code> (not
1814
* present when called from <code>Y.on(...)</code>)
1815
* @return {EventHandle}
1819
_subscribe: function (node, method, args, extra, filter) {
1820
var dispatcher = new Y.CustomEvent(this.type, this.publishConfig),
1821
handle = dispatcher.on.apply(dispatcher, args),
1822
notifier = new Notifier(handle, this.emitFacade),
1823
registry = SyntheticEvent.getRegistry(node, this.type, true),
1827
sub.filter = filter;
1829
this.applyArgExtras(extra, sub);
1834
notifier : notifier,
1835
host : node, // I forget what this is for
1836
currentTarget: node, // for generating facades
1837
target : node, // for generating facades
1838
el : node._node, // For category detach
1840
_delete : SyntheticEvent._deleteSub
1843
handle.notifier = notifier;
1845
registry.register(handle);
1847
// Call the implementation's "on" or "delegate" method
1848
this[method](node, sub, notifier, filter);
1854
* <p>Implementers MAY provide this method definition.</p>
1856
* <p>Implement this function if you want extra data extracted during
1857
* processArgs to be propagated to subscriptions on a per-node basis.
1858
* That is to say, if you call <code>Y.on('xyz', fn, xtra, 'div')</code>
1859
* the data returned from processArgs will be shared
1860
* across the subscription objects for all the divs. If you want each
1861
* subscription to receive unique information, do that processing
1862
* here.</p>
1864
* <p>The default implementation adds the data extracted by processArgs
1865
* to the subscription object as <code>sub._extra</code>.</p>
1867
* @method applyArgExtras
1868
* @param extra {any} Any extra data extracted from processArgs
1869
* @param sub {Subscription} the individual subscription
1871
applyArgExtras: function (extra, sub) {
1876
* Removes the subscription(s) from the internal subscription dispatch
1877
* mechanism. See <code>SyntheticEvent._deleteSub</code>.
1880
* @param args {Array} The arguments passed to
1881
* <code>node.detach(...)</code>
1885
_detach: function (args) {
1886
// Can't use Y.all because it doesn't support window (yet?)
1887
// TODO: Does Y.all support window now?
1888
var target = args[2],
1889
els = (isString(target)) ?
1890
query(target) : toArray(target),
1891
node, i, len, handles, j;
1893
// (type, fn, el, context, filter?) => (type, fn, context, filter?)
1896
for (i = 0, len = els.length; i < len; ++i) {
1897
node = Y.one(els[i]);
1900
handles = this.getSubs(node, args);
1903
for (j = handles.length - 1; j >= 0; --j) {
1904
handles[j].detach();
1912
* Returns the detach handles of subscriptions on a node that satisfy a
1913
* search/filter function. By default, the filter used is the
1914
* <code>subMatch</code> method.
1917
* @param node {Node} the node hosting the event
1918
* @param args {Array} the array of original subscription args passed
1919
* to <code>Y.on(...)</code> (before
1920
* <code>processArgs</code>
1921
* @param filter {Function} function used to identify a subscription
1922
* for inclusion in the returned array
1923
* @param first {Boolean} stop after the first match (used to check for
1924
* duplicate subscriptions)
1925
* @return {EventHandle[]} detach handles for the matching subscriptions
1927
getSubs: function (node, args, filter, first) {
1928
var registry = SyntheticEvent.getRegistry(node, this.type),
1930
allHandles, i, len, handle;
1933
allHandles = registry.handles;
1936
filter = this.subMatch;
1939
for (i = 0, len = allHandles.length; i < len; ++i) {
1940
handle = allHandles[i];
1941
if (filter.call(this, handle.sub, args)) {
1945
handles.push(allHandles[i]);
1951
return handles.length && handles;
1955
* <p>Implementers MAY override this to define what constitutes a
1956
* &quot;same&quot; subscription. Override implementations should
1957
* consider the lack of a comparator as a match, so calling
1958
* <code>getSubs()</code> with no arguments will return all subs.</p>
1960
* <p>Compares a set of subscription arguments against a Subscription
1961
* object to determine if they match. The default implementation
1962
* compares the callback function against the second argument passed to
1963
* <code>Y.on(...)</code> or <code>node.detach(...)</code> etc.</p>
1966
* @param sub {Subscription} the existing subscription
1967
* @param args {Array} the calling arguments passed to
1968
* <code>Y.on(...)</code> etc.
1969
* @return {Boolean} true if the sub can be described by the args
1973
subMatch: function (sub, args) {
1974
// Default detach cares only about the callback matching
1975
return !args[1] || sub.fn === args[1];
1980
Y.SyntheticEvent = SyntheticEvent;
1983
* <p>Defines a new event in the DOM event system. Implementers are
1984
* responsible for monitoring for a scenario whereby the event is fired. A
1985
* notifier object is provided to the functions identified below. When the
1986
* criteria defining the event are met, call notifier.fire( [args] ); to
1987
* execute event subscribers.</p>
1989
* <p>The first parameter is the name of the event. The second parameter is a
1990
* configuration object which define the behavior of the event system when the
1991
* new event is subscribed to or detached from. The methods that should be
1992
* defined in this configuration object are <code>on</code>,
1993
* <code>detach</code>, <code>delegate</code>, and <code>detachDelegate</code>.
1994
* You are free to define any other methods or properties needed to define your
1995
* event. Be aware, however, that since the object is used to subclass
1996
* SyntheticEvent, you should avoid method names used by SyntheticEvent unless
1997
* your intention is to override the default behavior.</p>
1999
* <p>This is a list of properties and methods that you can or should specify
2000
* in the configuration object:</p>
2003
* <dt><code>on</code></dt>
2004
* <dd><code>function (node, subscription, notifier)</code> The
2005
* implementation logic for subscription. Any special setup you need to
2006
* do to create the environment for the event being fired--E.g. native
2007
* DOM event subscriptions. Store subscription related objects and
2008
* state on the <code>subscription</code> object. When the
2009
* criteria have been met to fire the synthetic event, call
2010
* <code>notifier.fire(e)</code>. See Notifier's <code>fire()</code>
2011
* method for details about what to pass as parameters.</dd>
2013
* <dt><code>detach</code></dt>
2014
* <dd><code>function (node, subscription, notifier)</code> The
2015
* implementation logic for cleaning up a detached subscription. E.g.
2016
* detach any DOM subscriptions added in <code>on</code>.</dd>
2018
* <dt><code>delegate</code></dt>
2019
* <dd><code>function (node, subscription, notifier, filter)</code> The
2020
* implementation logic for subscription via <code>Y.delegate</code> or
2021
* <code>node.delegate</code>. The filter is typically either a selector
2022
* string or a function. You can use
2023
* <code>Y.delegate.compileFilter(selectorString)</code> to create a
2024
* filter function from a selector string if needed. The filter function
2025
* expects an event object as input and should output either null, a
2026
* matching Node, or an array of matching Nodes. Otherwise, this acts
2027
* like <code>on</code> DOM event subscriptions. Store subscription
2028
* related objects and information on the <code>subscription</code>
2029
* object. When the criteria have been met to fire the synthetic event,
2030
* call <code>notifier.fire(e)</code> as noted above.</dd>
2032
* <dt><code>detachDelegate</code></dt>
2033
* <dd><code>function (node, subscription, notifier)</code> The
2034
* implementation logic for cleaning up a detached delegate subscription.
2035
* E.g. detach any DOM delegate subscriptions added in
2036
* <code>delegate</code>.</dd>
2038
* <dt><code>publishConfig</code></dt>
2039
* <dd>(Object) The configuration object that will be used to instantiate
2040
* the underlying CustomEvent. See Notifier's <code>fire</code> method
2041
* for details.</dd>
2043
* <dt><code>processArgs</code></dt
2045
* <p><code>function (argArray, fromDelegate)</code> Optional method
2046
* to extract any additional arguments from the subscription
2047
* signature. Using this allows <code>on</code> or
2048
* <code>delegate</code> signatures like
2049
* <code>node.on(&quot;hover&quot;, overCallback,
2050
* outCallback)</code>.</p>
2051
* <p>When processing an atypical argument signature, make sure the
2052
* args array is returned to the normal signature before returning
2053
* from the function. For example, in the &quot;hover&quot; example
2054
* above, the <code>outCallback</code> needs to be <code>splice</code>d
2055
* out of the array. The expected signature of the args array for
2056
* <code>on()</code> subscriptions is:</p>
2058
* <code>[type, callback, target, contextOverride, argN...]</code>
2060
* <p>And for <code>delegate()</code>:</p>
2062
* <code>[type, callback, target, filter, contextOverride, argN...]</code>
2064
* <p>where <code>target</code> is the node the event is being
2065
* subscribed for. You can see these signatures documented for
2066
* <code>Y.on()</code> and <code>Y.delegate()</code> respectively.</p>
2067
* <p>Whatever gets returned from the function will be stored on the
2068
* <code>subscription</code> object under
2069
* <code>subscription._extra</code>.</p></dd>
2070
* <dt><code>subMatch</code></dt>
2072
* <p><code>function (sub, args)</code> Compares a set of
2073
* subscription arguments against a Subscription object to determine
2074
* if they match. The default implementation compares the callback
2075
* function against the second argument passed to
2076
* <code>Y.on(...)</code> or <code>node.detach(...)</code> etc.</p>
2081
* @param type {String} the name of the event
2082
* @param config {Object} the prototype definition for the new event (see above)
2083
* @param force {Boolean} override an existing event (use with caution)
2084
* @return {SyntheticEvent} the subclass implementation instance created to
2085
* handle event subscriptions of this type
2089
* @in event-synthetic
2091
Y.Event.define = function (type, config, force) {
2092
var eventDef, Impl, synth;
2094
if (type && type.type) {
2097
} else if (config) {
2098
eventDef = Y.merge({ type: type }, config);
2102
if (force || !Y.Node.DOM_EVENTS[eventDef.type]) {
2103
Impl = function () {
2104
SyntheticEvent.apply(this, arguments);
2106
Y.extend(Impl, SyntheticEvent, eventDef);
2111
Y.Node.DOM_EVENTS[type] = Y.Env.evt.plugins[type] = {
2115
return synth._on(toArray(arguments));
2118
delegate: function () {
2119
return synth._on(toArray(arguments), true);
2122
detach: function () {
2123
return synth._detach(toArray(arguments));
2128
} else if (isString(type) || isArray(type)) {
2129
Y.Array.each(toArray(type), function (t) {
2130
Y.Node.DOM_EVENTS[t] = 1;
2146
<script src="../assets/vendor/prettify/prettify-min.js"></script>
2147
<script>prettyPrint();</script>
2148
<script src="../assets/js/yui-prettify.js"></script>
2149
<script src="../assets/../api.js"></script>
2150
<script src="../assets/js/api-filter.js"></script>
2151
<script src="../assets/js/api-list.js"></script>
2152
<script src="../assets/js/api-search.js"></script>
2153
<script src="../assets/js/apidocs.js"></script>