Added new function-testing code that is completely cross-browser compatible.
authorJohn Resig <jeresig@gmail.com>
Mon, 22 Jan 2007 02:17:47 +0000 (02:17 +0000)
committerJohn Resig <jeresig@gmail.com>
Mon, 22 Jan 2007 02:17:47 +0000 (02:17 +0000)
src/jquery/jquery.js

index 38c8da3..c712b48 100644 (file)
@@ -1222,8 +1222,11 @@ jQuery.extend({
                        $ = jQuery._$;
        },
 
+       // This may seem like some crazy code, but trust me when I say that this
+       // is the only cross-browser way to do this. --John
        isFunction: function( fn ) {
-               return fn && typeof fn == "function";
+               return !!fn && typeof fn != "string" &&
+                       typeof fn[0] == "undefined" && /function/i.test( fn + "" );
        },
 
        /**