r1481 - trunk

r1481 - trunk


Author: scott.gonzalez
Date: Fri Jan 2 20:12:50 2009
New Revision: 1481
Modified:
trunk/jquery-1.3pre.js
Log:
Updated jQuery 1.3pre to r6026.
Modified: trunk/jquery-1.3pre.js
==============================================================================
--- trunk/jquery-1.3pre.js    (original)
+++ trunk/jquery-1.3pre.js    Fri Jan 2 20:12:50 2009
@@ -6,8 +6,8 @@
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
- * $Date: 2008-12-31 14:21:24 -0500 (Wed, 31 Dec 2008) $
- * $Rev: 6018 $
+ * $Date: 2009-01-02 19:51:07 -0500 (Fri, 02 Jan 2009) $
+ * $Rev: 6026 $
*/
// Map over jQuery in case of overwrite
@@ -820,6 +820,14 @@
        if ( typeof context.createElement === "undefined" )
            context = context.ownerDocument || context[0] &&
context[0].ownerDocument || document;
+        // If a single string is passed in and it's a single tag
+        // just do a createElement and skip the rest
+        if ( !fragment && elems.length === 1 && typeof elems[0] === "string" ) {
+            var match = /^<(\w+)\/?>$/.exec(elems[0]);
+            if ( match )
+                return [ context.createElement( match[1] ) ];
+        }
+
        var ret = [], scripts = [], div = context.createElement("div");
        jQuery.each(elems, function(i, elem){
@@ -916,9 +924,6 @@
        });
-        // Clean up
-        div.innerHTML = "";
-        
        if ( fragment ) {
            for ( var i = 0; ret[i]; i++ ) {
                var node = ret[i];
@@ -1227,150 +1232,150 @@
function num(elem, prop) {
    return elem[0] && parseInt( jQuery.curCSS(elem[0], prop, true), 10 ) || 0;
}
-var expando = "jQuery" + now(), uuid = 0, windowData = {};
-
-jQuery.extend({
-    cache: {},
-
-    data: function( elem, name, data ) {
-        elem = elem == window ?
-            windowData :
-            elem;
-
-        var id = elem[ expando ];
-
-        // Compute a unique ID for the element
-        if ( !id )
-            id = elem[ expando ] = ++uuid;
-
-        // Only generate the data cache if we're
-        // trying to access or manipulate it
-        if ( name && !jQuery.cache[ id ] )
-            jQuery.cache[ id ] = {};
-
-        // Prevent overriding the named cache with undefined values
-        if ( data !== undefined )
-            jQuery.cache[ id ][ name ] = data;
-
-        // Return the named cache data, or the ID for the element
-        return name ?
-            jQuery.cache[ id ][ name ] :
-            id;
-    },
-
-    removeData: function( elem, name ) {
-        elem = elem == window ?
-            windowData :
-            elem;
-
-        var id = elem[ expando ];
-
-        // If we want to remove a specific section of the element's data
-        if ( name ) {
-            if ( jQuery.cache[ id ] ) {
-                // Remove the section of cache data
-                delete jQuery.cache[ id ][ name ];
-
-                // If we've removed all the data, remove the element's cache
-                name = "";
-
-                for ( name in jQuery.cache[ id ] )
-                    break;
-
-                if ( !name )
-                    jQuery.removeData( elem );
-            }
-
-        // Otherwise, we want to remove all of the element's data
-        } else {
-            // Clean up the element expando
-            try {
-                delete elem[ expando ];
-            } catch(e){
-                // IE has trouble directly removing the expando
-                // but it's ok with using removeAttribute
-                if ( elem.removeAttribute )
-                    elem.removeAttribute( expando );
-            }
-
-            // Completely remove the data cache
-            delete jQuery.cache[ id ];
-        }
-    },
-    queue: function( elem, type, data ) {
-        if ( elem ){
-    
-            type = (type || "fx") + "queue";
-    
-            var q = jQuery.data( elem, type );
-    
-            if ( !q || jQuery.isArray(data) )
-                q = jQuery.data( elem, type, jQuery.makeArray(data) );
-            else if( data )
-                q.push( data );
-    
-        }
-        return q;
-    },
-
-    dequeue: function( elem, type ){
-        var queue = jQuery.queue( elem, type ),
-            fn = queue.shift();
-        
-        if( !type || type === "fx" )
-            fn = queue[0];
-            
-        if( fn !== undefined )
-            fn.call(elem);
-    }
-});
-
-jQuery.fn.extend({
-    data: function( key, value ){
-        var parts = key.split(".");
-        parts[1] = parts[1] ? "." + parts[1] : "";
-
-        if ( value === undefined ) {
-            var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
-
-            if ( data === undefined && this.length )
-                data = jQuery.data( this[0], key );
-
-            return data === undefined && parts[1] ?
-                this.data( parts[0] ) :
-                data;
-        } else
-            return this.trigger("setData" + parts[1] + "!", [parts[0],
value]).each(function(){
-                jQuery.data( this, key, value );
-            });
-    },
-
-    removeData: function( key ){
-        return this.each(function(){
-            jQuery.removeData( this, key );
-        });
-    },
-    queue: function(type, data){
-        if ( typeof type !== "string" ) {
-            data = type;
-            type = "fx";
-        }
-
-        if ( data === undefined )
-            return jQuery.queue( this[0], type );
-
-        return this.each(function(){
-            var queue = jQuery.queue( this, type, data );
-            
-             if( type == "fx" && queue.length == 1 )
-                queue[0].call(this);
-        });
-    },
-    dequeue: function(type){
-        return this.each(function(){
-            jQuery.dequeue( this, type );
-        });
-    }
+var expando = "jQuery" + now(), uuid = 0, windowData = {};
+
+jQuery.extend({
+    cache: {},
+
+    data: function( elem, name, data ) {
+        elem = elem == window ?
+            windowData :
+            elem;
+
+        var id = elem[ expando ];
+
+        // Compute a unique ID for the element
+        if ( !id )
+            id = elem[ expando ] = ++uuid;
+
+        // Only generate the data cache if we're
+        // trying to access or manipulate it
+        if ( name && !jQuery.cache[ id ] )
+            jQuery.cache[ id ] = {};
+
+        // Prevent overriding the named cache with undefined values
+        if ( data !== undefined )
+            jQuery.cache[ id ][ name ] = data;
+
+        // Return the named cache data, or the ID for the element
+        return name ?
+            jQuery.cache[ id ][ name ] :
+            id;
+    },
+
+    removeData: function( elem, name ) {
+        elem = elem == window ?
+            windowData :
+            elem;
+
+        var id = elem[ expando ];
+
+        // If we want to remove a specific section of the element's data
+        if ( name ) {
+            if ( jQuery.cache[ id ] ) {
+                // Remove the section of cache data
+                delete jQuery.cache[ id ][ name ];
+
+                // If we've removed all the data, remove the element's cache
+                name = "";
+
+                for ( name in jQuery.cache[ id ] )
+                    break;
+
+                if ( !name )
+                    jQuery.removeData( elem );
+            }
+
+        // Otherwise, we want to remove all of the element's data
+        } else {
+            // Clean up the element expando
+            try {
+                delete elem[ expando ];
+            } catch(e){
+                // IE has trouble directly removing the expando
+                // but it's ok with using removeAttribute
+                if ( elem.removeAttribute )
+                    elem.removeAttribute( expando );
+            }
+
+            // Completely remove the data cache
+            delete jQuery.cache[ id ];
+        }
+    },
+    queue: function( elem, type, data ) {
+        if ( elem ){
+    
+            type = (type || "fx") + "queue";
+    
+            var q = jQuery.data( elem, type );
+    
+            if ( !q || jQuery.isArray(data) )
+                q = jQuery.data( elem, type, jQuery.makeArray(data) );
+            else if( data )
+                q.push( data );
+    
+        }
+        return q;
+    },
+
+    dequeue: function( elem, type ){
+        var queue = jQuery.queue( elem, type ),
+            fn = queue.shift();
+        
+        if( !type || type === "fx" )
+            fn = queue[0];
+            
+        if( fn !== undefined )
+            fn.call(elem);
+    }
+});
+
+jQuery.fn.extend({
+    data: function( key, value ){
+        var parts = key.split(".");
+        parts[1] = parts[1] ? "." + parts[1] : "";
+
+        if ( value === undefined ) {
+            var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
+
+            if ( data === undefined && this.length )
+                data = jQuery.data( this[0], key );
+
+            return data === undefined && parts[1] ?
+                this.data( parts[0] ) :
+                data;
+        } else
+            return this.trigger("setData" + parts[1] + "!", [parts[0],
value]).each(function(){
+                jQuery.data( this, key, value );
+            });
+    },
+
+    removeData: function( key ){
+        return this.each(function(){
+            jQuery.removeData( this, key );
+        });
+    },
+    queue: function(type, data){
+        if ( typeof type !== "string" ) {
+            data = type;
+            type = "fx";
+        }
+
+        if ( data === undefined )
+            return jQuery.queue( this[0], type );
+
+        return this.each(function(){
+            var queue = jQuery.queue( this, type, data );
+            
+             if( type == "fx" && queue.length == 1 )
+                queue[0].call(this);
+        });
+    },
+    dequeue: function(type){
+        return this.each(function(){
+            jQuery.dequeue( this, type );
+        });
+    }
});(function(){
    jQuery.support = {};
@@ -2496,99 +2501,81 @@
        }
    },
-    trigger: function( event, data, elem, extra) {
+    trigger: function( event, data, elem, bubbling /* internal */ ) {
        // Event object or event type
        var type = event.type || event;
-        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 );
-                });
+        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
-        } else {
+            // Handle triggering a single element
            // don't do events on text and comment nodes
-            if ( elem.nodeType == 3 || elem.nodeType == 8 )
+            if ( !elem || elem.nodeType == 3 || elem.nodeType == 8 )
                return undefined;
-
-            // Clone the incoming data, if any
-            data = jQuery.makeArray(data);
-
+            
            // AT_TARGET phase (not bubbling)
-            if( !event.target ){
+            if( !bubbling ){
                // 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 );
            }
+        }
-            // Fix for custom events
-            event.currentTarget = elem;
-
-            data.unshift( event );
-
-            var fn = jQuery.isFunction( elem[ type ] );
-
-            // 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 ( (!fn || (jQuery.nodeName(elem, 'a') && type == "click")) &&
elem["on"+type] && elem["on"+type].apply( elem, data ) === false )
-                event.result = false;
-
-            // Extra functions don't get the custom event object
-            data.shift();
-
-            // Handle triggering of extra function
-            if ( extra && jQuery.isFunction( extra ) ) {
-                // call the extra function and tack the current return value on the
end for possible inspection
-                var ret = extra.apply( elem, event.result == null ? data :
data.concat( event.result ) );
-                // if anything is returned, give it precedence and have it overwrite
the previous value
-                if ( ret !== undefined )
-                    event.result = ret;
-            }
+        event.currentTarget = elem;
-            // Trigger the native events (except for clicks on links)
-            if ( event.target === elem && fn && !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) {}
-            }
+        // Trigger the event, it is assumed that "handle" is a function
+        var handle = jQuery.data(elem, "handle");
+        if ( handle )
+            handle.apply( elem, data );
-            if ( !event.isPropagationStopped() ) {
-                var parent = elem.parentNode || elem.ownerDocument;
-                if ( parent )
-                    jQuery.event.trigger(event, data, parent);
-            }
+        // 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;
-            // Clean up, in case the event object is reused
-            event.target = null;
+        // 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);
        }
+
+        this.triggered = false;
    },
    handle: function(event) {
@@ -2841,18 +2828,18 @@
        });
    },
-    trigger: function( type, data, fn ) {
+    trigger: function( type, data ) {
        return this.each(function(){
-            jQuery.event.trigger( type, data, this, fn );
+            jQuery.event.trigger( type, data, this );
        });
    },
-    triggerHandler: function( type, data, fn ) {
+    triggerHandler: function( type, data ) {
        if( this[0] ){
            var event = jQuery.Event(type);
            event.preventDefault();
            event.stopPropagation();
-            jQuery.event.trigger( event, data, this[0], fn );
+            jQuery.event.trigger( event, data, this[0] );
            return event.result;
        }        
    },
@@ -3850,12 +3837,9 @@
        this.options.show = true;
        // Begin the animation
-        this.custom(0, this.cur());
-
        // Make sure that we start at a small width/height to avoid any
        // flash of content
-        if ( this.prop == "width" || this.prop == "height" )
-            this.elem.style[this.prop] = "1px";
+        this.custom(this.prop == "width" || this.prop == "height" ? 1 : 0,
this.cur());
        // Start by showing the element
        jQuery(this.elem).show();
@@ -3900,7 +3884,7 @@
                // Hide the element if the "hide" operation was done
                if ( this.options.hide )
-                    this.elem.style.display = "none";
+                    jQuery(this.elem).hide();
                // Reset the properties, if the item has been hidden or shown
                if ( this.options.hide || this.options.show )
@@ -3944,10 +3928,10 @@
        },
        _default: function(fx){
-            if( fx.prop in fx.elem )
-                fx.elem[ fx.prop ] = fx.now;
-            else if( fx.elem.style )
+            if ( fx.elem.style && fx.elem.style[ fx.prop ] != null )
                fx.elem.style[ fx.prop ] = fx.now + fx.unit;
+            else
+                fx.elem[ fx.prop ] = fx.now;
        }
    }
});