common/src/web/jquery-1.3.2.js
function( event, data, elem, bubbling ) {
		// Event object or event type
		var type = event.type || event;

		if( !bubbling ){
			event = typeof event === "object" ?
				// jQuery.Event object
				event[expando] ? event :
				// Object literal
				jQuery.extend( jQuery.Event(type), event ) :
				// Just the event type (string)
				jQuery.Event(type);

			if ( type.indexOf("!") >= 0 ) {
				event.type = type = type.slice(0, -1);
				event.exclusive = true;
			}

			// Handle a global trigger
			if ( !elem ) {
				// Don't bubble custom events when global (to avoid too much overhead)
				event.stopPropagation();
				// Only trigger if we've ever bound an event for it
				if ( this.global[type] )
					jQuery.each( jQuery.cache, function(){
						if ( this.events && this.events[type] )
							jQuery.event.trigger( event, data, this.handle.elem );
					});
			}

			// Handle triggering a single element

			// don't do events on text and comment nodes
			if ( !elem || elem.nodeType == 3 || elem.nodeType == 8 )
				return undefined;
			
			// Clean up in case it is reused
			event.result = undefined;
			event.target = elem;
			
			// Clone the incoming data, if any
			data = jQuery.makeArray(data);
			data.unshift( event );
		}

		event.currentTarget = elem;

		// Trigger the event, it is assumed that "handle" is a function
		var handle = jQuery.data(elem, "handle");
		if ( handle )
			handle.apply( elem, data );

		// Handle triggering native .onfoo handlers (and on links since we don't call .click() for links)
		if ( (!elem[type] || (jQuery.nodeName(elem, 'a') && type == "click")) && elem["on"+type] && elem["on"+type].apply( elem, data ) === false )
			event.result = false;

		// Trigger the native events (except for clicks on links)
		if ( !bubbling && elem[type] && !event.isDefaultPrevented() && !(jQuery.nodeName(elem, 'a') && type == "click") ) {
			this.triggered = true;
			try {
				elem[ type ]();
			// prevent IE from throwing an error for some hidden elements
			} catch (e) {}
		}

		this.triggered = false;

		if ( !event.isPropagationStopped() ) {
			var parent = elem.parentNode || elem.ownerDocument;
			if ( parent )
				jQuery.event.trigger(event, data, parent, true);
		}
	}
function( event, data, elem, bubbling ) {
		// Event object or event type
		var type = event.type || event;

		if( !bubbling ){
			event = typeof event === "object" ?
				// jQuery.Event object
				event[expando] ? event :
				// Object literal
				jQuery.extend( jQuery.Event(type), event ) :
				// Just the event type (string)
				jQuery.Event(type);

			if ( type.indexOf("!") >= 0 ) {
				event.type = type = type.slice(0, -1);
				event.exclusive = true;
			}

			// Handle a global trigger
			if ( !elem ) {
				// Don't bubble custom events when global (to avoid too much overhead)
				event.stopPropagation();
				// Only trigger if we've ever bound an event for it
				if ( this.global[type] )
					jQuery.each( jQuery.cache, function(){
						if ( this.events && this.events[type] )
							jQuery.event.trigger( event, data, this.handle.elem );
					});
			}

			// Handle triggering a single element

			// don't do events on text and comment nodes
			if ( !elem || elem.nodeType == 3 || elem.nodeType == 8 )
				return undefined;
			
			// Clean up in case it is reused
			event.result = undefined;
			event.target = elem;
			
			// Clone the incoming data, if any
			data = jQuery.makeArray(data);
			data.unshift( event );
		}

		event.currentTarget = elem;

		// Trigger the event, it is assumed that "handle" is a function
		var handle = jQuery.data(elem, "handle");
		if ( handle )
			handle.apply( elem, data );

		// Handle triggering native .onfoo handlers (and on links since we don't call .click() for links)
		if ( (!elem[type] || (jQuery.nodeName(elem, 'a') && type == "click")) && elem["on"+type] && elem["on"+type].apply( elem, data ) === false )
			event.result = false;

		// Trigger the native events (except for clicks on links)
		if ( !bubbling && elem[type] && !event.isDefaultPrevented() && !(jQuery.nodeName(elem, 'a') && type == "click") ) {
			this.triggered = true;
			try {
				elem[ type ]();
			// prevent IE from throwing an error for some hidden elements
			} catch (e) {}
		}

		this.triggered = false;

		if ( !event.isPropagationStopped() ) {
			var parent = elem.parentNode || elem.ownerDocument;
			if ( parent )
				jQuery.event.trigger(event, data, parent, true);
		}
	}
function ( event , data , elem , bubbling ) { // Event object or event type var type = event . type || event ; if ( ! bubbling ) { event = typeof event === "object" ? // jQuery.Event object event [ expando ] ? event : // Object literal jQuery . extend ( jQuery . Event ( type ) , event ) : // Just the event type (string) jQuery . Event ( type ) ; if ( type . indexOf ( "!" ) >= 0 ) { event . type = type = type . slice ( 0 , - 1 ) ; event . exclusive = true ; } // Handle a global trigger if ( ! elem ) { // Don't bubble custom events when global (to avoid too much overhead) event . stopPropagation ( ) ; // Only trigger if we've ever bound an event for it if ( this . global [ type ] ) jQuery . each ( jQuery . cache , function ( ) { if ( this . events && this . events [ type ] ) jQuery . event . trigger ( event , data , this . handle . elem ) ; } ) ; } // Handle triggering a single element // don't do events on text and comment nodes if ( ! elem || elem . nodeType == 3 || elem . nodeType == 8 ) return undefined ; // Clean up in case it is reused event . result = undefined ; event . target = elem ; // Clone the incoming data, if any data = jQuery . makeArray ( data ) ; data . unshift ( event ) ; } event . currentTarget = elem ; // Trigger the event, it is assumed that "handle" is a function var handle = jQuery . data ( elem , "handle" ) ; if ( handle ) handle . apply ( elem , data ) ; // Handle triggering native .onfoo handlers (and on links since we don't call .click() for links) if ( ( ! elem [ type ] || ( jQuery . nodeName ( elem , 'a' ) && type == "click" ) ) && elem [ "on" + type ] && elem [ "on" + type ] . apply ( elem , data ) === false ) event . result = false ; // Trigger the native events (except for clicks on links) if ( ! bubbling && elem [ type ] && ! event . isDefaultPrevented ( ) && ! ( jQuery . nodeName ( elem , 'a' ) && type == "click" ) ) { this . triggered = true ; try { elem [ type ] ( ) ; // prevent IE from throwing an error for some hidden elements } catch ( e ) { } } this . triggered = false ; if ( ! event . isPropagationStopped ( ) ) { var parent = elem . parentNode || elem . ownerDocument ; if ( parent ) jQuery . event . trigger ( event , data , parent , true ) ; } }
bubbling is internal
bubbling is internal