检查jQuery方法是否存在

57a*_*7up 6 javascript jquery

可能吗?无论如何,在Javascript或jQuery中.

例如: $.isFunction($.isFunction());

Upd:但是如何检查jQuery插件的方法?有时它在调用时没有准备好并产生错误.例:$.isFunction($().jqGrid.format)

bob*_*nce 7

要将函数传递给另一个函数,请()关闭:

$.isFunction($.isFunction);   // true!
Run Code Online (Sandbox Code Playgroud)

当你编写时,()你正在调用该函数,并使用它返回的结果.$.isFunction()没有参数返回false(因为undefined不是函数),所以你说$.isFunction(false),当然也是false.

我不会isFunction仅仅为了检查某些东西的存在而烦恼,除非你怀疑有人因某种原因可能已经为它分配了一个非功能值.对于纯存在检查,请使用in运算符:

if ('isFunction' in $) { ...
Run Code Online (Sandbox Code Playgroud)


Mik*_*son 0

是的,

jQuery.fn.exists = function(){return jQuery(this).length>0;}

if ($(selector).exists()) {
    // code........
}
Run Code Online (Sandbox Code Playgroud)