jQuery测试对象是否有方法?

时间:2011-02-24 18:25:03

标签: jquery

是否可以测试jQuery对象是否具有特定方法?我一直在寻找,但到目前为止还没有成功。谢谢!

6 个答案:

答案 0 :(得分:42)

这应该有效:

if (!!$.prototype.functionName)

答案 1 :(得分:20)

因为jQuery方法是jQuery对象的原型,所以你可以从原型对象中测试它。

if( $.isFunction( $.fn.someMethod ) ) {
    // it exists
}

这使用jQuery.isFunction()[docs]方法查看$.fn.someMethod是否确实是一个函数。 (在jQuery jQuery.fn中是对原型对象的引用。)

答案 2 :(得分:3)

if ($.fn.method) {
    $('a').method(...);
}

if ($.method) {
    $.method(...);
}

答案 3 :(得分:0)

//Simple function that will tell if the function is defined or not
function is_function(func) {
    return typeof window[func] !== 'undefined' && $.isFunction(window[func]);
}

//usage

if (is_function("myFunction") {
        alert("myFunction defined");
    } else {
        alert("myFunction not defined");
    }

答案 4 :(得分:0)

这对我有用

if (typeof myfunctionname === 'function')

答案 5 :(得分:-1)

你应该能够找到未定义的

if( typeof jQuery("*").foo === "undefined" ){
  alert("I am not here!");
}