Modified test for load(); added fix for trigger, where it modifies data passed to...
[jquery.git] / src / jquery / jquery.js
index 567e6a0..72596ad 100644 (file)
@@ -56,7 +56,7 @@ var jQuery = function(a,c) {
        }
 
        // Watch for when an array is passed in
-       this.get( a.constructor == Array || a.length && !a.nodeType && a[0] != undefined && a[0].nodeType ?
+       this.get( a.constructor == Array || a.length && a != window && !a.nodeType && a[0] != undefined && a[0].nodeType ?
                // Assume that it is an array of DOM Elements
                jQuery.merge( a, [] ) :
 
@@ -1903,7 +1903,7 @@ jQuery.extend({
                        return elem[fix[name]];
                } else if( value == undefined && jQuery.browser.msie && elem.nodeName && elem.nodeName.toUpperCase() == 'FORM' && (name == 'action' || name == 'method') ) {
                        return elem.getAttributeNode(name).nodeValue;
-               } else if ( (jQuery.browser.msie || elem.getAttribute != undefined) && elem.tagName ) { // IE elem.getAttribute passes even for style; Do not "call" elem.getAttribute in IE <- weird crap
+               } else if ( elem.tagName ) { // IE elem.getAttribute passes even for style
                        if ( value != undefined ) elem.setAttribute( name, value );
                        return elem.getAttribute( name );
                } else {
@@ -2245,8 +2245,8 @@ jQuery.extend({
                },
 
                trigger: function(type,data,element) {
-                       // Touch up the incoming data
-                       data = data || [];
+                       // Clone the incoming data, if any
+                       data = $.merge([], data || []);
 
                        // Handle a global trigger
                        if ( !element ) {