isFunction()在jQuery中总是为false

时间:2010-02-08 21:43:51

标签: jquery

所以我使用qtip进行超级简单的工具提示实现。

我没有在每个页面上都包含qtip,只包含所需的页面,所以我在调用它之前试图检查qtip的存在。

 /*
  * Tool Tip
  * inits qtip on any link with class="tt"
  */
  if( $.isFunction( $.qtip ) ){
  $(".tt").qtip();
  }

我不知道这是不行的。它总是返回假。有任何想法吗? THX。

6 个答案:

答案 0 :(得分:11)

IMO,你应该检查

if($.isFunction($.fn.qtip))

答案 1 :(得分:1)

试试这个:

if( $.isFunction( $.fn.qtip ) ){
    $(".tt").qtip();
}

因为插件位于$.fn对象

答案 2 :(得分:1)

我更喜欢使用typof运算符,因为它不依赖于jQuery。

if(typeof window.myFunction == 'function') {
    // function exists, so we can now call it
    myFunction();
}

另一方面,这是一个很好的方法来“扩展”javascript“如果”某些东西存在(如表单验证)

答案 3 :(得分:0)

如果您的所有网页的实施都是一致的,那么只需输入

即可
$(function(){
    $(".tt").qtip();
}

在qtip.js文件的底部,这样,只要包含qtip就会执行。

答案 4 :(得分:0)

if( $.isFunction(qtip) ){
 //bla bla
}

试试这个或用逗号

if( $.isFunction("qtip") ){
     //bla bla
    }

答案 5 :(得分:0)

尝试删除“$”。在isFunction检查之前的qtip之前。