1
|
|
2
|
YUI Library - Event - Release Notes
|
3
|
|
4
|
2.4.1
|
5
|
* Reverted clearAttributes() change to fix IE memory leak on iframes/windows
|
6
|
|
7
|
2.4.0
|
8
|
* getListeners/purgeElement accepts either an element reference or an element id
|
9
|
* onAvailable/onContentReady accepts a single id or an array of ids
|
10
|
* No longer removing listeners during the unload event for non-IE browsers
|
11
|
* IE unload strategy for cross page memory leaks changed from removing each listener
|
12
|
to calling clearAttributes()
|
13
|
* the DOMReady property is now public
|
14
|
* Changed IE onDOMReady approach from the defered script node hack to the doScroll('left') hack
|
15
|
* getCharChode now Remaps SHIFT-TAB key code (25) to TAB (9) in Safari
|
16
|
* getCharCode provides the proper key codes for page up and page down in Safari
|
17
|
* Restored object check to _isValidCollection.
|
18
|
* In KeyListener, added keycode constants for some of the special keys.
|
19
|
* Rolled back the change added for hacking around IE errors from bubbled
|
20
|
events that originally targeted an ActiveX control.
|
21
|
|
22
|
2.3.1
|
23
|
* CustomEvent fire() now catches exceptions thrown by the subscribers so
|
24
|
that the rest of the subscribers execute. The exception is logged and
|
25
|
stored in the "lastError" property.
|
26
|
* Performance tweak: _isValidCollection fails strings first.
|
27
|
* onAvailable/onContentReady will work if an element ref rather than an
|
28
|
id is provided.
|
29
|
* getListeners: fixed the values for the obj and adjust properties.
|
30
|
Added scope property.
|
31
|
* Added IE hack for when the event target is something that can't be
|
32
|
inspected (like a VML canvas). In this case the target is set to
|
33
|
the element the listener is bound to.
|
34
|
|
35
|
2.3.0
|
36
|
* addListener now produces a logger warning if the supplied callback is
|
37
|
undefined.
|
38
|
* Reduced the likelihood that window onload listeners fire before
|
39
|
onAvailable listeners when the two happen near the same moment.
|
40
|
* Fixed an IE error that could occur when the library was injected into
|
41
|
the page after window onload.
|
42
|
* The onDOMReady listener will be executed immediately if the
|
43
|
DOMReady event had already fired prior to the call.
|
44
|
* Unsubscribing custom events within a handler for the event now works
|
45
|
properly.
|
46
|
* EventProvider unsubscribeAll will unsubscribe all listeners from
|
47
|
all hosted custom events if the type is not specified.
|
48
|
* Event.getKeyCode now checks keyCode before charCode for Safari normalization.
|
49
|
Safari arrow key codes are normalized as well.
|
50
|
* Broke up the </script> in Event to allow it to be included inline
|
51
|
|
52
|
2.2.2
|
53
|
* No change
|
54
|
|
55
|
2.2.1
|
56
|
* onAvailable listeners are processed before onContentReady listeners so
|
57
|
they fire in the logical order when an element is found to be available
|
58
|
and ready in the same pass.
|
59
|
* Added onDOMReady for receiving notification when the DOM is first usable.
|
60
|
* In Internet Explorer, onAvailable/onContentReady checks now start when
|
61
|
DOMReady fires to reduce the possibility of receiving an "operation
|
62
|
aborted" errors when inserting DOM nodes during in the onAvailable/
|
63
|
onContentReady listener execution.
|
64
|
* CustomEvent subscribers supplying undefined callbacks will be notified
|
65
|
when subscribing rather than having an ambiguous error thrown when the
|
66
|
event is fired.
|
67
|
* Fixed missing html tags in the examples.
|
68
|
* POLL_INTERVAL is 10 ms.
|
69
|
* YAHOO.util.CustomEvent is now declared before YAHOO.util.Event.
|
70
|
|
71
|
2.2.0
|
72
|
|
73
|
* YAHOO.util.KeyListener was moved from the container package into event.
|
74
|
|
75
|
* The Safari bug that made it so preventDefault would not work with click
|
76
|
and double-click listeners on anchor tags was resolved in version 2.0.4.
|
77
|
The workaround (using DOM0 events for these instead of the normal DOM2
|
78
|
events) is now only used for releases prior to 2.0.4.
|
79
|
|
80
|
* getListeners/purgeElement now work correctly with unload listeners
|
81
|
|
82
|
* When legacyEvents are used (Safari<2.0.4 click events), if there was an
|
83
|
existing DOM0 event that the utility replaced, it is executed along with
|
84
|
the listeners that were added with the utility.
|
85
|
|
86
|
* Restored Event.regCE for compatibility with a beta release of the library
|
87
|
that in use in an external API.
|
88
|
|
89
|
* unsubscribe in CustomEvent and EventProvider will remove all listeners
|
90
|
if the listener is omitted.
|
91
|
|
92
|
* Added unsubscribeAll to EventProvider
|
93
|
|
94
|
* Added Event.lastError which stores the most recent error object if
|
95
|
a browser-specific add/remove listener call throws an exception.
|
96
|
|
97
|
0.12.2
|
98
|
|
99
|
* Fixed a bug introduced in 0.12.1 release caused nested onAvailable
|
100
|
calls to fail.
|
101
|
|
102
|
0.12.1
|
103
|
|
104
|
* If an error is thrown during the browser-specific add/remove lister call,
|
105
|
addListener/removeListener will catch the error and return false.
|
106
|
|
107
|
* onAvailable array items are nulled out instead of deleted when completed to
|
108
|
get around an Opera issue introduced in a recent version of the browser.
|
109
|
|
110
|
0.12.0
|
111
|
|
112
|
* If the function argument is not provided to Event.removeListener, all
|
113
|
all listeners for the specified event type on the element will be removed.
|
114
|
|
115
|
* CustomEvent now has an optional parameter that defines the signature of
|
116
|
the listeners for this event. Two signatures are supported:
|
117
|
|
118
|
YAHOO.util.CustomEvent.LIST:
|
119
|
param1: event name
|
120
|
param2: array of arguments provided to fire()
|
121
|
param3: <optional> the custom object supplied to subscribe()
|
122
|
|
123
|
YAHOO.util.CustomEvent.FLAT:
|
124
|
param1: the first argument provided to fire()
|
125
|
param2: <optional> the custom object supplied to subscribe()
|
126
|
|
127
|
The new flat signature makes it possible to provide a better API
|
128
|
when using custom events, and it makes it possible to transparently
|
129
|
wrap DOM events.
|
130
|
|
131
|
* The parameters for overriding scope in both Event.addListener, and
|
132
|
CustomEvent.subscribe have been augmented. In addition to the
|
133
|
previous behavior where a true value would make the previous parameter
|
134
|
the execution scope, an object can be supplied instead. If an object
|
135
|
is provided, that object becomes the scope obj. This makes it possible
|
136
|
to pass a both a custom object and adjust the scope to a different object.
|
137
|
|
138
|
* Added EventProvider, which is a wrapper for CustomEvent that makes it
|
139
|
possible to subscribe to events by name, whether or not the event has
|
140
|
been created. This class was designed to be used with YAHOO.augment.
|
141
|
EventProvider custom events are created with the new FLAT listener
|
142
|
signature.
|
143
|
|
144
|
* CustomEvent subscribers can return false to stop the propagation of
|
145
|
the event.
|
146
|
|
147
|
* CustomEvents now have an onSubscribe custom event that can used to the
|
148
|
case where a subscriber subscribes to an one-time event that has already
|
149
|
happened. Also provides a way for the implementer to defer initialization
|
150
|
logic until after the first subscription.
|
151
|
|
152
|
* Event.getCharCode now always returns keyCode if charCode is not available.
|
153
|
|
154
|
* Added Event.onContentReady, which is similar to onAvailable, but it also
|
155
|
checks simblings to try to determine when the element's children are
|
156
|
available.
|
157
|
|
158
|
0.11.4
|
159
|
|
160
|
* Fixed a memory leak in IE6 that occurred when the utility was hosted in
|
161
|
an iframe.
|
162
|
|
163
|
* Fixed an issue with Safari click listeners when listeners were removed.
|
164
|
|
165
|
0.11.3
|
166
|
|
167
|
* The listener cache is now pruned when events are removed. This fixes
|
168
|
a performance issue when adding many listeners, removing them, and
|
169
|
adding them again repeatedly.
|
170
|
|
171
|
* Safari click listeners will work correctly if a bound element is removed
|
172
|
from the DOM and a new element with the same ID is added.
|
173
|
|
174
|
* Removed the code that automatically unsubscribed custom event listeners.
|
175
|
|
176
|
0.11.0
|
177
|
|
178
|
* Added Event.purgeElement which will remove all listeners added via
|
179
|
addListener from the supplied element. If an optional "type" parameter
|
180
|
is supplied, only events of that type will be removed. Optionally, the
|
181
|
purge can be performed recursively on the element's children as well.
|
182
|
|
183
|
* Added Event.getListeners which will return all listeners attached to
|
184
|
a given element.. either all listeners or listeners of a specific type.
|
185
|
|
186
|
* getTarget now automatically resolves text nodes. The optional parameter
|
187
|
for this feature is now deprecated.
|
188
|
|
189
|
* getRelatedTarget now resolves text nodes for the browsers that return the
|
190
|
text node rather than its host HTML element.
|
191
|
|
192
|
* CustomEvent now logs the custom event activity if the logger widget is available
|
193
|
|
194
|
0.10.0
|
195
|
|
196
|
* Added Safari dblclick to the list of legacy events.
|
197
|
|
198
|
* When multiple identical event handlers are defined, multiple calls
|
199
|
to removeListener can now remove all of them.
|
200
|
|
201
|
* removeListener works properly for unload events
|
202
|
|
203
|
* Legacy event bookkeeping is more efficient, improving the performance for
|
204
|
adding Safari click events.
|
205
|
|
206
|
* _unload() is more efficient, improving the page transition experience in
|
207
|
Safari in particular.
|
208
|
|
209
|
* addListener, removeListener now return false if the function argument is
|
210
|
not valid.
|
211
|
|
212
|
* Fixed an operator precedence issue in getCharCode.
|
213
|
|
214
|
* Added Event.getXY, which returns [Event.getPageX(e), Event.getPageY(e)]
|
215
|
|
216
|
* Added Event.onAvailable, which will execute the callback when the element
|
217
|
with the supplied id is found. Currently searches periodically until the
|
218
|
window load event or for up to 10 seconds after the onAvailable method
|
219
|
was executed.
|
220
|
|
221
|
* The lazy listener attachment process now will poll beyond the window load
|
222
|
event in order to better handle the case when a listener is defined
|
223
|
late in the page but before the element is in the dom.
|
224
|
|
225
|
* Fixed browser detection for Opera installations reporting as IE.
|
226
|
|
227
|
* It is now possible to remove and re-add legacy events (Safari click event).
|
228
|
|