init
This commit is contained in:
90
jssource/src_files/include/javascript/yui3/build/event/event-focus.js
vendored
Normal file
90
jssource/src_files/include/javascript/yui3/build/event/event-focus.js
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.net/yui/license.txt
|
||||
version: 3.0.0
|
||||
build: 1549
|
||||
*/
|
||||
YUI.add('event-focus', function(Y) {
|
||||
|
||||
/**
|
||||
* Adds focus and blur event listener support. These events normally
|
||||
* do not bubble, so this adds support for that so these events
|
||||
* can be used in event delegation scenarios.
|
||||
*
|
||||
* @module event
|
||||
* @submodule event-focus
|
||||
*/
|
||||
(function() {
|
||||
|
||||
var UA = Y.UA,
|
||||
Event = Y.Event,
|
||||
plugins = Y.Env.evt.plugins,
|
||||
ie = UA.ie,
|
||||
bUseMutation = (UA.opera || UA.webkit),
|
||||
eventNames = {
|
||||
focus: (ie ? 'focusin' : (bUseMutation ? 'DOMFocusIn' : 'focus')),
|
||||
blur: (ie ? 'focusout' : (bUseMutation ? 'DOMFocusOut' : 'blur'))
|
||||
},
|
||||
|
||||
// Only need to use capture phase for Gecko since it doesn't support
|
||||
// focusin, focusout, DOMFocusIn, or DOMFocusOut
|
||||
CAPTURE_CONFIG = { capture: (UA.gecko ? true : false) },
|
||||
|
||||
|
||||
attach = function (args, config) {
|
||||
|
||||
var a = Y.Array(args, 0, true);
|
||||
a[0] = eventNames[a[0]];
|
||||
return Event._attach(a, config);
|
||||
|
||||
},
|
||||
|
||||
eventAdapter = {
|
||||
|
||||
on: function () {
|
||||
return attach(arguments, CAPTURE_CONFIG);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
Event._attachFocus = attach;
|
||||
Event._attachBlur = attach;
|
||||
|
||||
/**
|
||||
* Adds a DOM focus listener. Uses the focusin event in IE,
|
||||
* DOMFocusIn for Opera and Webkit, and the capture phase for Gecko so that
|
||||
* the event propagates in a way that enables event delegation.
|
||||
*
|
||||
* @for YUI
|
||||
* @event focus
|
||||
* @param type {string} 'focus'
|
||||
* @param fn {function} the callback function to execute
|
||||
* @param o {string|HTMLElement|collection} the element(s) to bind
|
||||
* @param context optional context object
|
||||
* @param args 0..n additional arguments to provide to the listener.
|
||||
* @return {EventHandle} the detach handle
|
||||
*/
|
||||
plugins.focus = eventAdapter;
|
||||
|
||||
/**
|
||||
* Adds a DOM blur listener. Uses the focusout event in IE,
|
||||
* DOMFocusOut for Opera and Webkit, and the capture phase for Gecko so that
|
||||
* the event propagates in a way that enables event delegation.
|
||||
*
|
||||
* @for YUI
|
||||
* @event blur
|
||||
* @param type {string} 'blur'
|
||||
* @param fn {function} the callback function to execute
|
||||
* @param o {string|HTMLElement|collection} the element(s) to bind
|
||||
* @param context optional context object
|
||||
* @param args 0..n additional arguments to provide to the listener.
|
||||
* @return {EventHandle} the detach handle
|
||||
*/
|
||||
plugins.blur = eventAdapter;
|
||||
|
||||
})();
|
||||
|
||||
|
||||
}, '3.0.0' ,{requires:['node-base']});
|
||||
Reference in New Issue
Block a user