Skip to content

Commit

Permalink
Merge pull request #531 from rwldrn/events.js-cleanup
Browse files Browse the repository at this point in the history
Style sweep
  • Loading branch information
dmethvin committed Oct 7, 2011
2 parents ce8d9c0 + 3999d39 commit cec0d0d
Showing 1 changed file with 36 additions and 26 deletions.
62 changes: 36 additions & 26 deletions src/event.js
Expand Up @@ -6,7 +6,7 @@ var rnamespaces = /\.(.*)$/,
rspaces = / /g, rspaces = / /g,
rescape = /[^\w\s.|`]/g, rescape = /[^\w\s.|`]/g,
rtypenamespace = /^([^\.]*)?(?:\.(.+))?$/, rtypenamespace = /^([^\.]*)?(?:\.(.+))?$/,
rhoverHack = /\bhover(\.\S+)?/, rhoverHack = /\bhover(\.\S+)?/,
rkeyEvent = /^key/, rkeyEvent = /^key/,
rmouseEvent = /^(?:mouse|contextmenu)|click/, rmouseEvent = /^(?:mouse|contextmenu)|click/,
rquickIs = /^([\w\-]+)?(?:#([\w\-]+))?(?:\.([\w\-]+))?(?:\[([\w+\-]+)=["']?([\w\-]*)["']?\])?$/, rquickIs = /^([\w\-]+)?(?:#([\w\-]+))?(?:\.([\w\-]+))?(?:\[([\w+\-]+)=["']?([\w\-]*)["']?\])?$/,
Expand Down Expand Up @@ -88,16 +88,21 @@ jQuery.event = {
types = types.replace( rhoverHack, "mouseover$1 mouseout$1" ).split( " " ); types = types.replace( rhoverHack, "mouseover$1 mouseout$1" ).split( " " );
for ( t = 0; t < types.length; t++ ) { for ( t = 0; t < types.length; t++ ) {


tns = rtypenamespace.exec( types[t] ) || []; tns = rtypenamespace.exec( types[t] ) || [];
type = tns[1]; type = tns[1];
namespaces = (tns[2] || "").split( "." ).sort(); namespaces = (tns[2] || "").split( "." ).sort();


// If event changes its type, use the special event handlers for the changed type // If event changes its type, use the special event handlers for the changed type
special = jQuery.event.special[ type ] || {}; special = jQuery.event.special[ type ] || {};
type = (selector? special.delegateType : special.bindType ) || type;
// If selector defined, determine special event api type, otherwise given type
type = ( selector ? special.delegateType : special.bindType ) || type;

// Update special based on newly reset type
special = jQuery.event.special[ type ] || {}; special = jQuery.event.special[ type ] || {};


// handleObj is passed to all event handlers // handleObj is passed to all event handlers
// will be the result of merging handleObjIn
handleObj = jQuery.extend({ handleObj = jQuery.extend({
type: type, type: type,
origType: tns[1], origType: tns[1],
Expand All @@ -106,7 +111,7 @@ jQuery.event = {
guid: handler.guid, guid: handler.guid,
selector: selector, selector: selector,
namespace: namespaces.join(".") namespace: namespaces.join(".")
}, handleObjIn); }, handleObjIn );


// Delegated event; pre-analyze selector so it's processed quickly on event dispatch // Delegated event; pre-analyze selector so it's processed quickly on event dispatch
if ( selector ) { if ( selector ) {
Expand Down Expand Up @@ -185,7 +190,7 @@ jQuery.event = {
namespaces = tns[2]; namespaces = tns[2];


// Unbind all events (on this namespace, if provided) for the element // Unbind all events (on this namespace, if provided) for the element
if ( !type ) { if ( !type ) {
namespaces = namespaces? "." + namespaces : ""; namespaces = namespaces? "." + namespaces : "";
for ( j in events ) { for ( j in events ) {
jQuery.event.remove( elem, j + namespaces, handler, selector ); jQuery.event.remove( elem, j + namespaces, handler, selector );
Expand All @@ -194,10 +199,10 @@ jQuery.event = {
} }


special = jQuery.event.special[ type ] || {}; special = jQuery.event.special[ type ] || {};
type = (selector? special.delegateType : special.bindType ) || type; type = ( selector? special.delegateType : special.bindType ) || type;
eventType = events[ type ] || []; eventType = events[ type ] || [];
origCount = eventType.length; origCount = eventType.length;
namespaces = namespaces? new RegExp("(^|\\.)" + namespaces.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null; namespaces = namespaces ? new RegExp("(^|\\.)" + namespaces.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null;


// Only need to loop for special events or selective removal // Only need to loop for special events or selective removal
if ( handler || namespaces || selector || special.remove ) { if ( handler || namespaces || selector || special.remove ) {
Expand Down Expand Up @@ -265,7 +270,7 @@ jQuery.event = {
// Event object or event type // Event object or event type
var type = event.type || event, var type = event.type || event,
namespaces = [], namespaces = [],
exclusive, i, cur, old, ontype, special, doc, eventPath, bubbleType, cache, exclusive, i, cur, old, ontype, special, doc, eventPath, bubbleType,
addHandlers = function( elem, type ) { addHandlers = function( elem, type ) {
// Defer getting handler so we don't waste time in case propagation is stopped // Defer getting handler so we don't waste time in case propagation is stopped
if ( (jQuery._data( elem, "events" ) || {})[ type ] ) { if ( (jQuery._data( elem, "events" ) || {})[ type ] ) {
Expand Down Expand Up @@ -321,7 +326,7 @@ jQuery.event = {
if ( !elem ) { if ( !elem ) {


// TODO: Stop taunting the data cache; remove global events and always attach to document // TODO: Stop taunting the data cache; remove global events and always attach to document
var cache = jQuery.cache; cache = jQuery.cache;
for ( i in cache ) { for ( i in cache ) {
if ( cache[ i ].events && cache[ i ].events[ type ] ) { if ( cache[ i ].events && cache[ i ].events[ type ] ) {
jQuery.event.trigger( event, data, cache[ i ].handle.elem ); jQuery.event.trigger( event, data, cache[ i ].handle.elem );
Expand Down Expand Up @@ -364,7 +369,7 @@ jQuery.event = {
for ( i = 0; i < eventPath.length; i++ ) { for ( i = 0; i < eventPath.length; i++ ) {
cur = eventPath[ i ]; cur = eventPath[ i ];
event.type = cur.type; event.type = cur.type;
(cur.handler || jQuery._data( cur.elem, "handle" )).apply( cur.elem, data ); ( cur.handler || jQuery._data( cur.elem, "handle" ) ).apply( cur.elem, data );
if ( event.isPropagationStopped() ) { if ( event.isPropagationStopped() ) {
break; break;
} }
Expand All @@ -382,6 +387,7 @@ jQuery.event = {
// Don't do default actions on window, that's where global variables be (#6170) // Don't do default actions on window, that's where global variables be (#6170)
// IE<9 dies on focus/blur to hidden element (#1486) // IE<9 dies on focus/blur to hidden element (#1486)
if ( ontype && elem[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) { if ( ontype && elem[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) {

// Don't re-trigger an onFOO event when we call its FOO() method // Don't re-trigger an onFOO event when we call its FOO() method
old = elem[ ontype ]; old = elem[ ontype ];


Expand Down Expand Up @@ -411,7 +417,7 @@ jQuery.event = {


var handlers = ((jQuery._data( this, "events" ) || {})[ event.type ] || []), var handlers = ((jQuery._data( this, "events" ) || {})[ event.type ] || []),
delegateCount = handlers.delegateCount, delegateCount = handlers.delegateCount,
args = Array.prototype.slice.call( arguments, 0 ), args = [].slice.call( arguments, 0 ),
handlerQueue = [], handlerQueue = [],
i, cur, selMatch, matches, handleObj, sel, hit, related; i, cur, selMatch, matches, handleObj, sel, hit, related;


Expand All @@ -432,9 +438,9 @@ jQuery.event = {


if ( handleObj.isPositional ) { if ( handleObj.isPositional ) {
// Since .is() does not work for positionals; see http://jsfiddle.net/eJ4yd/3/ // Since .is() does not work for positionals; see http://jsfiddle.net/eJ4yd/3/
hit = (hit || (selMatch[ sel ] = jQuery( sel ))).index( cur ) >= 0; hit = ( hit || (selMatch[ sel ] = jQuery( sel )) ).index( cur ) >= 0;
} else if ( hit === undefined ) { } else if ( hit === undefined ) {
hit = selMatch[ sel ] = (handleObj.quick? quickIs( cur, handleObj.quick ) : jQuery( cur ).is( sel )); hit = selMatch[ sel ] = ( handleObj.quick ? quickIs( cur, handleObj.quick ) : jQuery( cur ).is( sel ) );
} }
if ( hit ) { if ( hit ) {
matches.push( handleObj ); matches.push( handleObj );
Expand Down Expand Up @@ -509,7 +515,7 @@ jQuery.event = {
// Add which for click: 1 === left; 2 === middle; 3 === right // Add which for click: 1 === left; 2 === middle; 3 === right
// Note: button is not normalized, so don't use it // Note: button is not normalized, so don't use it
if ( !event.which && button !== undefined ) { if ( !event.which && button !== undefined ) {
event.which = (button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) )); event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
} }


return event; return event;
Expand All @@ -524,11 +530,12 @@ jQuery.event = {
// Create a writable copy of the event object and normalize some properties // Create a writable copy of the event object and normalize some properties
var originalEvent = event, var originalEvent = event,
fixHook = jQuery.event.fixHooks[ event.type ] || {}, fixHook = jQuery.event.fixHooks[ event.type ] || {},
copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props,
i;


event = jQuery.Event( originalEvent ); event = jQuery.Event( originalEvent );


for ( var i = copy.length, prop; i; ) { for ( i = copy.length, prop; i; ) {
prop = copy[ --i ]; prop = copy[ --i ];
event[ prop ] = originalEvent[ prop ]; event[ prop ] = originalEvent[ prop ];
} }
Expand Down Expand Up @@ -592,10 +599,13 @@ jQuery.event = {
// Piggyback on a donor event to simulate a different one. // Piggyback on a donor event to simulate a different one.
// Fake originalEvent to avoid donor's stopPropagation, but if the // Fake originalEvent to avoid donor's stopPropagation, but if the
// simulated event prevents default then we do the same on the donor. // simulated event prevents default then we do the same on the donor.
var e = jQuery.extend( var e = jQuery.extend(
new jQuery.Event(), new jQuery.Event(),
event, event,
{ type: type, isSimulated: true, originalEvent: {} } { type: type,
isSimulated: true,
originalEvent: {}
}
); );
if ( bubble ) { if ( bubble ) {
jQuery.event.trigger( e, null, elem ); jQuery.event.trigger( e, null, elem );
Expand All @@ -611,7 +621,7 @@ jQuery.event = {
// Run jQuery handler functions; called from jQuery.event.handle // Run jQuery handler functions; called from jQuery.event.handle
function dispatch( target, event, handlers, args ) { function dispatch( target, event, handlers, args ) {
var run_all = !event.exclusive && !event.namespace, var run_all = !event.exclusive && !event.namespace,
specialHandle = (jQuery.event.special[event.type] || {}).handle, specialHandle = ( jQuery.event.special[ event.type ] || {} ).handle,
j, handleObj, ret; j, handleObj, ret;


event.currentTarget = target; event.currentTarget = target;
Expand All @@ -628,7 +638,7 @@ function dispatch( target, event, handlers, args ) {
event.data = handleObj.data; event.data = handleObj.data;
event.handleObj = handleObj; event.handleObj = handleObj;


ret = (specialHandle || handleObj.handler).apply( target, args ); ret = ( specialHandle || handleObj.handler ).apply( target, args );


if ( ret !== undefined ) { if ( ret !== undefined ) {
event.result = ret; event.result = ret;
Expand Down Expand Up @@ -666,8 +676,8 @@ jQuery.Event = function( src, props ) {


// Events bubbling up the document may have been marked as prevented // Events bubbling up the document may have been marked as prevented
// by a handler lower down the tree; reflect the correct value. // by a handler lower down the tree; reflect the correct value.
this.isDefaultPrevented = (src.defaultPrevented || src.returnValue === false || this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false ||
src.getPreventDefault && src.getPreventDefault()) ? returnTrue : returnFalse; src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse;


// Event type // Event type
} else { } else {
Expand Down Expand Up @@ -836,7 +846,7 @@ if ( !jQuery.support.changeBubbles ) {
jQuery.event.add( this, "beforeactivate._change", function( e ) { jQuery.event.add( this, "beforeactivate._change", function( e ) {
var elem = e.target; var elem = e.target;


if ( rformElems.test( elem.nodeName ) && !elem._change_attached ) { if ( rformElems.test( elem.nodeName ) && !elem._change_attached ) {
jQuery.event.add( elem, "change._change", function( event ) { jQuery.event.add( elem, "change._change", function( event ) {
if ( this.parentNode && !event.isSimulated ) { if ( this.parentNode && !event.isSimulated ) {
jQuery.event.simulate( "change", this.parentNode, event, true ); jQuery.event.simulate( "change", this.parentNode, event, true );
Expand All @@ -846,7 +856,7 @@ if ( !jQuery.support.changeBubbles ) {
} }
}); });
}, },

handle: function( event ) { handle: function( event ) {
var elem = event.target; var elem = event.target;


Expand Down

0 comments on commit cec0d0d

Please sign in to comment.