2010-08-05 100 views
6

這可能嗎?無論如何,在Javascript或jQuery中。檢查jQuery方法是否存在

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

UPD:但如何檢查一個jQuery插件的方法是什麼?有時它在調用時沒有準備好併產生錯誤。例如:$.isFunction($().jqGrid.format)

回答

0

是,

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

if ($(selector).exists()) { 
    // code........ 
} 
7

傳遞一個功能到另一個功能,離開()關:

$.isFunction($.isFunction); // true! 

當你寫()調用的功能,並使用它返回的結果。 $.isFunction()無參數返回false(因爲undefined不是函數),所以你說的是$.isFunction(false),這也就是false

我不會打擾使用isFunction只是爲了檢查是否存在某些東西,除非您懷疑有人可能因爲某種原因爲其分配了非函數值。對於純存在檢查,請使用in運算符:

if ('isFunction' in $) { ...