jQuery中的isFunction()始终为false

jQuery中的isFunction()始终为false,jquery,Jquery,所以我使用qtip实现了一个超级简单的工具提示 我并不是在每个页面上都包含qtip,只是在需要的页面上,所以我试图在调用它之前检查qtip是否存在 /* * Tool Tip * inits qtip on any link with class="tt" */ if( $.isFunction( $.qtip ) ){ $(".tt").qtip(); } 我不知道这是怎么回事。它总是返回错误。有什么想法吗?Thx.在我看来,你应该检查一下 if($.isFunct

所以我使用qtip实现了一个超级简单的工具提示

我并不是在每个页面上都包含qtip,只是在需要的页面上,所以我试图在调用它之前检查qtip是否存在

 /*
  * Tool Tip
  * inits qtip on any link with class="tt"
  */
  if( $.isFunction( $.qtip ) ){
  $(".tt").qtip();
  }
我不知道这是怎么回事。它总是返回错误。有什么想法吗?Thx.

在我看来,你应该检查一下

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

如果所有页面的实现都是一致的,那么只需将

$(function(){
    $(".tt").qtip();
}
在qtip.js文件的底部,这样,无论何时包含qtip,都会执行该命令。

尝试以下操作:

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

由于插件驻留在
$.fn
对象中,我更喜欢使用typof操作符,因为它不依赖于jQuery

if(typeof window.myFunction == 'function') {
    // function exists, so we can now call it
    myFunction();
}
另一方面,如果存在某种东西(比如表单验证),那么这是一种很好的“扩展”javascript的方法

试试这个或用逗号

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

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

qtip
是一个jquery插件,因此他无法在重新考虑后删除jquery美元符号
$
。这可能是一个糟糕的计划,可能会在接下来的6个月内变得非常混乱!不会工作,因为
qtip
驻留在jQuery fn对象->
jQuery.fn
中,因为qtip函数本身依赖于jQuery,所以我在使用isFunction时没有问题。只是遇到了相同的“d'oh”时刻。感谢您发布答案:)
if( $.isFunction("qtip") ){
     //bla bla
    }