条件必选jQuery插件调用

Conditional jQuery plugin call

本文关键字:插件 调用 jQuery 条件      更新时间:2023-09-26

这可能是一个愚蠢的问题,但我对一些JavaScript技术不是很了解,我想知道哪一种方法可以处理jQuery插件和它们各自的调用。

如果我在JavaScript文件中调用插件,而不是实际导入它,我会得到这样的错误:

Uncaught TypeError: Object [Object Object] has no method 'tipsy'

是否有任何方法来避免这种错误的情况下,我不想使用插件,即使我调用它?

在许多情况下,我只使用一个.js文件,其中我调用了许多jQuery插件,但在一些页面中,它们被使用,它们使用的元素或选择器,它们都不存在。

我有条件地加载或不插件取决于我是否要使用它们,但我自己的.js文件仍然有对它们的调用。(就像如果它们不是JS文件中使用的函数)

我有时会检查选择器是否存在,然后调用插件:

if($('.listWrap').length){
    //call the the plugin
   $('.listWrap').tipsy(....); 
}

但是它看起来不太好,当使用许多插件和许多不同的选择器时,它会变得更大。

处理这个问题的正确方法是什么?谢谢。

你实际上可能会更好,包括所有的插件在每个页面,合并到一个单一的文件和缩小。

你将有更少的请求到服务器;当你从一个页面到另一个页面时,一个文件将被缓存(而不是在每个页面视图上加载单个文件);这些错误将会消失,你不需要写新的代码。