|
1 Event Infrastructure Change History |
|
2 =================================== |
|
3 |
|
4 3.10.3 |
|
5 ------ |
|
6 |
|
7 * No changes. |
|
8 |
|
9 3.10.2 |
|
10 ------ |
|
11 |
|
12 * Fixed `nodelist.on()` for rare custom module use cases. |
|
13 |
|
14 In certain rare custom module loading circumstances [#2533242, |
|
15 https://github.com/yui/yui3/pull/689] dom-core is attached after |
|
16 event-base, which resulted in the `YDOM = Y.DOM` module level reference |
|
17 being undefined [1]. |
|
18 |
|
19 This would break things like `nodelist.on()` which used the reference |
|
20 under the hood. |
|
21 |
|
22 [1] Added in 3.7.3, as part of the Win8 `isWindow()` fix. |
|
23 |
|
24 * Fixed DOM event facade, when Y instance was set to emitFacade:true. |
|
25 |
|
26 With the Y instance's emitFacade set to true, DOM event subscriptions |
|
27 would receive a Y.EventFacade instance instead of a Y.DOMEventFacade |
|
28 instance, and as a result target and currentTarget would be set to |
|
29 the Y instance, instead of a Y.Node instance. |
|
30 |
|
31 3.10.1 |
|
32 ------ |
|
33 |
|
34 * No changes. |
|
35 |
|
36 3.10.0 |
|
37 ------ |
|
38 |
|
39 * No changes. |
|
40 |
|
41 3.9.1 |
|
42 ----- |
|
43 |
|
44 * No changes. |
|
45 |
|
46 3.9.0 |
|
47 ----- |
|
48 |
|
49 * `delegate()` now silences events originating from disabled form controls in |
|
50 IE, like it does natively in other browsers. [#2532677] |
|
51 |
|
52 3.8.1 |
|
53 ----- |
|
54 |
|
55 * No changes. |
|
56 |
|
57 3.8.0 |
|
58 ----- |
|
59 |
|
60 * No changes. |
|
61 |
|
62 3.7.3 |
|
63 ----- |
|
64 |
|
65 * Changed onbeforeactivate feature test to account for Win 8 packaged Apps, which |
|
66 don't allow inline JS code in innerHTML. |
|
67 |
|
68 http://msdn.microsoft.com/en-us/library/windows/apps/hh465388.aspx |
|
69 |
|
70 3.7.2 |
|
71 ----- |
|
72 |
|
73 * No changes. |
|
74 |
|
75 3.7.1 |
|
76 ----- |
|
77 |
|
78 * No changes. |
|
79 |
|
80 3.7.0 |
|
81 ----- |
|
82 |
|
83 * Changed event-synthetic, to support CustomEvent performance optimizations. |
|
84 |
|
85 Mainly the deprecation of CustomEvent subscribers and afters instance properties, |
|
86 which event-synthetic was referring to directly. The direct reference was replaced |
|
87 by a public API method call. |
|
88 |
|
89 See src/event-custom/HISTORY.md for more details about the deprecated properties. |
|
90 |
|
91 * `event-tap` was migrated from Gallery and it supports "fast-click" on touch |
|
92 devices. |
|
93 |
|
94 * Added try/catch around the internal window unload listener event-base adds, |
|
95 so that YUI works in Chrome Packaged Apps. They don't support unload, |
|
96 but still have a window.onunload, so no real way to feature test without |
|
97 a try/catch anyway. |
|
98 |
|
99 3.6.0 |
|
100 ----- |
|
101 |
|
102 * No changes. |
|
103 |
|
104 3.5.1 |
|
105 ----- |
|
106 |
|
107 * No changes. |
|
108 |
|
109 3.5.0 |
|
110 ----- |
|
111 * `event-simulate` references to `window` replaced with `Y.config.win` |
|
112 [#2531223] |
|
113 * `event-resize` no longer throws an exception in IE [#2531310] |
|
114 * "avilable" and "contentready" handlers that throw exceptions no longer |
|
115 result in infinite polling [#2531375] |
|
116 * Added `event-touch`, `event-flick`, `event-move`, and `event-valuechange` to |
|
117 the `event` virtual rollup in accordance with the docs. |
|
118 * 'key' event does a better job parsing character filters. Uses `e.which` |
|
119 instead of `e.keyCode` or `e.charCode`. |
|
120 * `node.delegate('focus', fn, '.not-focusable')` now works. Properly supports |
|
121 delegation where the filter matches non-focusable parent nodes of the |
|
122 focused target. Same for blur. [#2531334] (`event-focus`) |
|
123 * `node.delegate('focus', fn, filterThatMatchesNode); node.focus();` now |
|
124 works. [#2531734] |
|
125 |
|
126 3.4.1 |
|
127 ----- |
|
128 * Calling Y.on('syntheticEvent', callback) without a context/selector argument |
|
129 now defaults to `window` (or the global object) [Ticket #2530081] |
|
130 |
|
131 * event-resize, a.k.a. Y.on('windowresize', ...) migrated to synthetic event |
|
132 infrastructure. Now detachable, etc. Also properly throttles the resize |
|
133 event on newer Gecko engines. That browser sniff was old! [Ticket #2530805] |
|
134 |
|
135 3.4.0 |
|
136 ----- |
|
137 * `event-outside` added for "outside" events. |
|
138 |
|
139 * `Y.Event.define(name)` adds name to `DOM_EVENTS` whitelist. Accepts event |
|
140 name string or array of string names. |
|
141 |
|
142 * `event-hover` properly pulls in required module `event-mouseenter`. |
|
143 |
|
144 * DOM event subscriptions are now removed and objects cleaned up after last |
|
145 subscription is detached; same for synthetic events. |
|
146 |
|
147 * `key` synthetic event migrated to official synth infrastructure; and now |
|
148 supports delegation. |
|
149 |
|
150 * `key` event spec param now supports letters and named keys. E.g.: |
|
151 `'enter+ctrl' == '13+ctrl'`, `'up:a' == 'up:65'` and `'A' == '65+shift'`. |
|
152 |
|
153 * Added experimental config `YUI({ lazyEventFacade: true })` that triggers a |
|
154 mode for DOM EventFacades in IE8 to use getters to access event properties |
|
155 that involve any calculation, such as `e.target` and `e.currentTarget`; this |
|
156 should also improve performance. |
|
157 |
|
158 * `mouseenter` and `mouseleave` events now filter the native event rather than |
|
159 the generated `DOMEventFacades` for `mouseover`/`mouseout`. This results in |
|
160 fewer calls to `Y.one` (`e.target`, `currentTarget`, `relatedTarget`) as |
|
161 well, so should improve performance. |
|
162 |
|
163 * Added `onceAfter()` method to do a self-detaching `after()` subscription. |
|
164 [Ticket #2529464] |
|
165 |
|
166 * `Y.on(type, callback, HTMLElement[], COMPAT)` subscriptions to attach to |
|
167 multiple elements in one call now correctly use native DOM elements instead |
|
168 of Nodes for all subscriptions. [Ticket #2529807] |
|
169 |
|
170 * Plugged the leaked global `GLOBAL_ENV`. [Ticket #2530227] |
|
171 |
|
172 * Fixed synth architecture to properly resubscribe to synths that use |
|
173 `processArgs` if the target is not available at the time of subscription. |
|
174 [Ticket #2530293] |
|
175 |
|
176 3.3.0 |
|
177 ----- |
|
178 |
|
179 * Added support for `delegate({ click: fn, keyup: fn2 }, …)` and |
|
180 `delegate(['click', 'keyup'], fn, …)`. |
|
181 |
|
182 * Delegation containers are now potential matches for the filter. |
|
183 |
|
184 * Nested delegate matches will now have callback executed for all matching |
|
185 targets in bubbling order. |
|
186 |
|
187 * `e.stopPropagation()` in nested delegate matches now works as expected. |
|
188 |
|
189 * The raw DOM event is no longer double wrapped (i.e. was: `e._event._event`). |
|
190 |
|
191 * `event-focus` now uses XHTML-friendly feature test to fork for IE. |
|
192 |
|
193 * New `event-hover` module providing `node.on('hover', in, out)`. |
|
194 |
|
195 * `e.button`/`e.which` normalization. |
|
196 |
|
197 * `e.which` normalized for key operations as well. |
|
198 |
|
199 * Split out IE-specific code into `event-base-ie` conditional module. |
|
200 |
|
201 3.2.0 |
|
202 ----- |
|
203 |
|
204 * Added event and facade support for touch. |
|
205 |
|
206 * Synthetic event infrastructure rebuilt. Changes include: |
|
207 |
|
208 * Support for delegation. |
|
209 |
|
210 * Passing `DOMEventFacade` to `notifier.fire(e)` now recommended. |
|
211 |
|
212 * Fixed issue where firing the notifier from inside DOM event subs would |
|
213 result in duplicate synth sub execution if the same synth was subscribed |
|
214 multiple times on the same Node. |
|
215 |
|
216 * Synths can now be detached with `node.purge(t|f, 'synthName')`. |
|
217 |
|
218 * `Event.define(type, config, *force*)` third arg added to override existing |
|
219 events. Only use this if you really know what you're doing. |
|
220 |
|
221 * Changed `allowDups` to `preventDups`, `true` by default to mimic existing |
|
222 behavior elsewhere in the event system. |
|
223 |
|
224 * `delegate()` now defers to synthetic event def more intelligently. |
|
225 |
|
226 * Added support for passing filter function to delegate. |
|
227 |
|
228 * `delegate()` now executes callback for each filter match up the bubble path. |
|
229 |
|
230 * Added detach category support to `delegate()`. |
|
231 |
|
232 * Migrate `mouseenter`, `mouseleave`, `focus`, and `blur` to `Event.define`. |
|
233 |
|
234 * `focus` and `blur` now guarantee execution order of subs matches bubble |
|
235 order when multiple delegates are created from different levels. |
|
236 |
|
237 * `event-synthetic` added to 'event' rollup module. |
|
238 |
|
239 3.1.1 |
|
240 ----- |
|
241 |
|
242 * fired `fireOnce()` listeners are executed synchronously. |
|
243 |
|
244 3.1.0 |
|
245 ----- |
|
246 |
|
247 * Removed deprecated `delegate` custom event. As of 3.1.0 use the `delegate()` |
|
248 method on a `Node` instance or `Y` instance. |
|
249 |
|
250 * Updated the `event-focus` submodule so that the specialized `focus` and |
|
251 `blur` events that enable the `focus` and `blur` events to bubble do not |
|
252 apply when adding `focus` and `blur` events to the `window` object. |
|
253 |
|
254 * Synthetic event creation API added. |
|
255 |
|
256 * `delegate` enhancements. |
|
257 |
|
258 * `unload` event fix. |
|
259 |
|
260 * Compatibility with Firefox's untouchable anonymous `div`. |
|
261 |
|
262 3.0.0 |
|
263 ----- |
|
264 |
|
265 * Added `onreadystatechange` fork in `domready` to handle the event in IE when |
|
266 YUI is hosted in an `iframe`. |
|
267 |
|
268 * Added `mousewheel` support. |
|
269 |
|
270 * Added `Y.delegate()` function that is a bit easier to use than |
|
271 `Y.on('delegate', …)`. |
|
272 |
|
273 * Default scope of `mouseenter` and `mouseleave` events is the `Node` instance |
|
274 to which the listener is attached. |
|
275 |
|
276 * Default scope of delegated event listeners is the `Node` instance that |
|
277 matched the supplied CSS selector. |
|
278 |
|
279 * All special DOM event handlers (`focus`, `blur`, `mousewheel`, `resize`, |
|
280 `delegate`, etc.) are broken down into submodules. Core DOM event |
|
281 functionality is provided in event-base.js, and all of the functionality is |
|
282 rolled into event.js. |
|
283 |
|
284 * Additional Safari key remapping. |
|
285 |
|
286 * Special DOM events can now be routed through `delegate()`. |
|
287 |
|
288 * `Y.on()` can target `Node` and `NodeList` references correctly. |
|
289 |
|
290 * Fixed `onAvailable()` lazy DOM listener detach handles. |
|
291 |
|
292 * When configured to return a detach handle, a single object is always |
|
293 returned. Previously requests that resolved to multiple listeners returned |
|
294 an array. |
|
295 |
|
296 3.0.0beta1 |
|
297 ---------- |
|
298 |
|
299 * DOM event, custom event, and simulate event moved to separate modules. |
|
300 |
|
301 * Added an event for DOM event delegation. It only fires if the target or its |
|
302 descendants match a supplied selector. |
|
303 |
|
304 Y.on('delegate', fn, el, 'click', 'selector', …) |
|
305 |
|
306 The event facade sets the following properties: |
|
307 |
|
308 * `target`: the target of the event. |
|
309 * `currentTarget`: the element that the selector matched. |
|
310 * `container`: the bound element (the delegation container). |
|
311 |
|
312 * Added `mouseenter`/`mouseleave` events: |
|
313 |
|
314 * `Y.on('mouseenter', fn, el, 'click', 'selector', …)` |
|
315 * `Y.on('mouseleave', fn, el, 'click', 'selector', …)` |
|
316 |
|
317 * Added `Y.on('windowresize', fn)`, which attempts to normalize when the event |
|
318 fires across all browsers (once at the end of the resize rather than |
|
319 continuously during the resize). |
|
320 |
|
321 * Fixed `unsubscribeAll()` return value. |
|
322 |
|
323 * Added ability to skip facade creation where performance is a concern. |
|
324 |
|
325 * Moved `DOMReady` core to `yui-base`. |
|
326 |
|
327 * Focus/blur abstraction works in Opera when the bound element is the target. |
|
328 |
|
329 * `purgeElement` only reads element guids, it does not create new ones for |
|
330 elements without one. |
|
331 |
|
332 * `Event.attach()` returns a single handle if the result from collection |
|
333 processing is a single item. |
|
334 |
|
335 3.0.0pr2 |
|
336 -------- |
|
337 |
|
338 * Fixed IE notification error when no arguments are supplied. |
|
339 |
|
340 * Added `event-simulate`. |
|
341 |
|
342 * `getListeners()` works when the element has no listeners defined. |
|
343 |
|
344 * `Event.addListener()` removed. Exists only in compat layer. |
|
345 |
|
346 * `addListerer()` triggers 2.x event behavior. |
|
347 |
|
348 * Removed extra undefined parameter passed to DOM event listeners. |
|
349 |
|
350 * Compat layer contains `Event.on()`. |
|
351 |
|
352 * Event adapter support added to `Y.on()`. |
|
353 |
|
354 * Added `focus` and `blur` event adaptors (support for propagation of these |
|
355 events.) |
|
356 |
|
357 * publish and subscribe support an object for the type, allowing for multiple |
|
358 events/subscriptions. |
|
359 |
|
360 * subscriber failures throw an error by default rather than log. |
|
361 |
|
362 * subscriber failures are not routed through `Y.fail` in order to improve the |
|
363 debug experience. |
|
364 |
|
365 * New facades created every `fire()`. |
|
366 |
|
367 * `before()` method re-added to `EventTarget`, which delegates to |
|
368 `Do.before()` or `subscribe()`. |
|
369 |
|
370 * `EventTarget.after()` will delegate to `Do.after()` if type is a function. |
|
371 |
|
372 * Added keylistener: `Y.on('key', fn, element, 'down:13,65+ctrl+shift')`. |
|
373 |
|
374 * `event:ready` event deprecated in favor of `domready`. |
|
375 |
|
376 3.0.0pr1 |
|
377 -------- |
|
378 |
|
379 * Initial Release. |