"./var/fnToString",
"./var/ObjectFunctionString",
"./var/support",
+ "./var/isWindow",
"./core/DOMEval"
], function( arr, document, getProto, slice, concat, push, indexOf,
class2type, toString, hasOwn, fnToString, ObjectFunctionString,
- support, DOMEval ) {
+ support, isWindow, DOMEval ) {
"use strict";
return typeof obj === "function" && typeof obj.nodeType !== "number";
},
- isWindow: function( obj ) {
- return obj != null && obj === obj.window;
- },
-
isNumeric: function( obj ) {
// As of jQuery 3.0, isNumeric is limited to
var length = !!obj && "length" in obj && obj.length,
type = jQuery.type( obj );
- if ( jQuery.isFunction( obj ) || jQuery.isWindow( obj ) ) {
+ if ( jQuery.isFunction( obj ) || isWindow( obj ) ) {
return false;
}
define( [
"./core",
- "./core/nodeName"
-], function( jQuery, nodeName ) {
+ "./core/nodeName",
+ "./var/isWindow"
+], function( jQuery, nodeName, isWindow ) {
"use strict";
jQuery.isArray = Array.isArray;
jQuery.parseJSON = JSON.parse;
jQuery.nodeName = nodeName;
+jQuery.isWindow = isWindow;
} );
define( [
"./core",
"./core/access",
+ "./var/isWindow",
"./css"
-], function( jQuery, access ) {
+], function( jQuery, access, isWindow ) {
"use strict";
return access( this, function( elem, type, value ) {
var doc;
- if ( jQuery.isWindow( elem ) ) {
+ if ( isWindow( elem ) ) {
// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
return funcName.indexOf( "outer" ) === 0 ?
"../data/var/dataPriv",
"../data/var/acceptData",
"../var/hasOwn",
-
+ "../var/isWindow",
"../event"
-], function( jQuery, document, dataPriv, acceptData, hasOwn ) {
+], function( jQuery, document, dataPriv, acceptData, hasOwn, isWindow ) {
"use strict";
// Determine event propagation path in advance, per W3C events spec (#9951)
// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
- if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
+ if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {
bubbleType = special.delegateType || type;
if ( !rfocusMorph.test( bubbleType + type ) ) {
// Call a native DOM method on the target with the same name as the event.
// Don't do default actions on window, that's where global variables be (#6170)
- if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {
+ if ( ontype && jQuery.isFunction( elem[ type ] ) && !isWindow( elem ) ) {
// Don't re-trigger an onFOO event when we call its FOO() method
tmp = elem[ ontype ];
"./css/curCSS",
"./css/addGetHookIf",
"./css/support",
-
+ "./var/isWindow",
"./core/init",
"./css",
"./selector" // contains
], function( jQuery, access, document, documentElement, rnumnonpx,
- curCSS, addGetHookIf, support ) {
+ curCSS, addGetHookIf, support, isWindow ) {
"use strict";
// Coalesce documents and windows
var win;
- if ( jQuery.isWindow( elem ) ) {
+ if ( isWindow( elem ) ) {
win = elem;
} else if ( elem.nodeType === 9 ) {
win = elem.defaultView;
--- /dev/null
+define( function() {
+ "use strict";
+
+ return function isWindow( obj ) {
+ return obj != null && obj === obj.window;
+ };
+
+} );
}
QUnit.test( "core", function( assert ) {
- assert.expect( 27 );
+ assert.expect( 25 );
var elem = jQuery( "<div></div><span></span>" );
"<?xml version='1.0' encoding='UTF-8'?><foo bar='baz'></foo>"
) ), "jQuery.isXMLDoc" );
- assert.ok( jQuery.isWindow( window ), "jQuery.isWindow(window)" );
- assert.ok( !jQuery.isWindow( 2 ), "jQuery.isWindow(Number)" );
-
assert.strictEqual( jQuery.inArray( 3, [ "a", 6, false, 3, {} ] ), 3, "jQuery.inArray - true" );
assert.strictEqual(
jQuery.inArray( 3, [ "a", 6, false, "3", {} ] ),
assert.ok( jQuery.isXMLDoc( jQuery( "tab", xml )[ 0 ] ), "XML Tab Element" );
} );
-QUnit.test( "isWindow", function( assert ) {
- assert.expect( 14 );
-
- assert.ok( jQuery.isWindow( window ), "window" );
- assert.ok( jQuery.isWindow( document.getElementsByTagName( "iframe" )[ 0 ].contentWindow ), "iframe.contentWindow" );
- assert.ok( !jQuery.isWindow(), "empty" );
- assert.ok( !jQuery.isWindow( null ), "null" );
- assert.ok( !jQuery.isWindow( undefined ), "undefined" );
- assert.ok( !jQuery.isWindow( document ), "document" );
- assert.ok( !jQuery.isWindow( document.documentElement ), "documentElement" );
- assert.ok( !jQuery.isWindow( "" ), "string" );
- assert.ok( !jQuery.isWindow( 1 ), "number" );
- assert.ok( !jQuery.isWindow( true ), "boolean" );
- assert.ok( !jQuery.isWindow( {} ), "object" );
- assert.ok( !jQuery.isWindow( { setInterval: function() {} } ), "fake window" );
- assert.ok( !jQuery.isWindow( /window/ ), "regexp" );
- assert.ok( !jQuery.isWindow( function() {} ), "function" );
-} );
-
QUnit.test( "jQuery('html')", function( assert ) {
assert.expect( 18 );
"Works on custom elements (true)"
);
} );
+
+QUnit.test( "jQuery.isWindow", function( assert ) {
+ assert.expect( 14 );
+
+ assert.ok( jQuery.isWindow( window ), "window" );
+ assert.ok( jQuery.isWindow( document.getElementsByTagName( "iframe" )[ 0 ].contentWindow ), "iframe.contentWindow" );
+ assert.ok( !jQuery.isWindow(), "empty" );
+ assert.ok( !jQuery.isWindow( null ), "null" );
+ assert.ok( !jQuery.isWindow( undefined ), "undefined" );
+ assert.ok( !jQuery.isWindow( document ), "document" );
+ assert.ok( !jQuery.isWindow( document.documentElement ), "documentElement" );
+ assert.ok( !jQuery.isWindow( "" ), "string" );
+ assert.ok( !jQuery.isWindow( 1 ), "number" );
+ assert.ok( !jQuery.isWindow( true ), "boolean" );
+ assert.ok( !jQuery.isWindow( {} ), "object" );
+ assert.ok( !jQuery.isWindow( { setInterval: function() {} } ), "fake window" );
+ assert.ok( !jQuery.isWindow( /window/ ), "regexp" );
+ assert.ok( !jQuery.isWindow( function() {} ), "function" );
+} );