git.asbjorn.biz
/
jquery.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Landing fixes for tickets #2935 and #2688 (Aborting ajax doesn't stop the setInterval...
[jquery.git]
/
src
/
core.js
diff --git
a/src/core.js
b/src/core.js
index
bcb9af8
..
081c5b4
100644
(file)
--- a/
src/core.js
+++ b/
src/core.js
@@
-407,7
+407,7
@@
jQuery.fn = jQuery.prototype = {
if ( this.nodeType != 1 )
return;
if ( this.nodeType != 1 )
return;
- if ( value.constructor == Array && /radio|checkbox/.test( this.type ) )
+ if ( jQuery.isArray(value) && /radio|checkbox/.test( this.type ) )
this.checked = (jQuery.inArray(this.value, value) >= 0 ||
jQuery.inArray(this.name, value) >= 0);
this.checked = (jQuery.inArray(this.value, value) >= 0 ||
jQuery.inArray(this.name, value) >= 0);
@@
-612,10
+612,18
@@
jQuery.extend({
},
// See test/unit/core.js for details concerning this function.
},
// See test/unit/core.js for details concerning this function.
- // Since 1.3 DOM methods and function like alert
+ // Since version 1.3, DOM methods and functions like alert
// aren't supported. They return false on IE (#2968).
// aren't supported. They return false on IE (#2968).
+
+ // Memory leaks appear in IE6 when applying instanceof
+ // to the window, document or any other COM object (#3485)
+ // http://ajaxian.com/archives/working-aroung-the-instanceof-memory-leak
isFunction: function( fn ) {
isFunction: function( fn ) {
- return fn instanceof Function;
+ return !!fn && !!fn.hasOwnProperty && fn instanceof Function;
+ },
+
+ isArray: function( arr ){
+ return !!arr && arr.constructor == Array;
},
// check if an element is in a (or is an) XML document
},
// check if an element is in a (or is an) XML document
@@
-1130,8
+1138,8
@@
jQuery.extend({
if( array != null ){
var i = array.length;
if( array != null ){
var i = array.length;
- //the window, strings and functions also have 'length'
- if( i == null || array.split || array.setInterval || array.call )
+ // The window, strings (and functions) also have 'length'
+ if( i == null || typeof array == 'string' || jQuery.isFunction(array) || array.setInterval )
ret[0] = array;
else
while( i )
ret[0] = array;
else
while( i )
@@
-1339,7
+1347,7
@@
jQuery.each([ "Height", "Width" ], function(i, name){
// Get window width or height
return this[0] == window ?
// Opera reports document.body.client[Width/Height] properly in both quirks and standards
// Get window width or height
return this[0] == window ?
// Opera reports document.body.client[Width/Height] properly in both quirks and standards
- jQuery.browser.opera && document.body[ "client" + name ] ||
+ jQuery.browser.opera && document.body.parentNode[ "client" + name ] ||
// Safari reports inner[Width/Height] just fine (Mozilla and Opera include scroll bar widths)
jQuery.browser.safari && window[ "inner" + name ] ||
// Safari reports inner[Width/Height] just fine (Mozilla and Opera include scroll bar widths)
jQuery.browser.safari && window[ "inner" + name ] ||