如何检查jQuery插件和函数的存在?

我在一些页面有一个插件,但在其他一些页面我不想要它,所以我没有引用它的脚本文件。

在使用之前如何检查插件function是否存在。

在我的情况下,我正在使用这个插件:我这样使用它:

$('#marquee-inner div').marquee('pointer').mouseover(function() { $(this).trigger('stop'); }).mouseout(function() { $(this).trigger('start'); }).mousemove(function(event) { if ($(this).data('drag') == true) { this.scrollLeft = $(this).data('scrollX') + ($(this).data('x') - event.clientX); } }).mousedown(function(event) { $(this).data('drag', true).data('x', event.clientX).data('scrollX', this.scrollLeft); }).mouseup(function() { $(this).data('drag', false); }); 

我想要的是在调用这个选取框function之前进行检查,如果它存在与否。

 if ($.fn.marquee) { // there is some jquery plugin named 'marquee' on your page } 

你也可以做到这一点。 让我以jQuery选框为例。

如果你只使用jQuery,这很好。

 if($().marquee) { // marquee is loaded and available } 

要么

 if($.fn.marquee !== undefined) { // marquee is loaded and available } 

与上面类似,但是当您使用其他JS框架Mootools等时

 if(jQuery().marquee) { // marquee is loaded and available } 

要么

 if(jQuery.fn.marquee !== undefined) { // marquee is loaded and available } 

稍微好一些:

 if ($.isFunction($.fn.marquee)) { // ... } 

也许有点矫枉过正,但这将确保它至less是一个function。