从上下文中调用JQuery函数

时间:2012-08-12 16:45:57

标签: javascript jquery

我提供了一个js / css模板。 它在交互式事件处理方面非常有才华,但我在js / jquery上没有天赋。

在其js库中,有一个.js文件, 并且文件包含一些代码:

(function ($) {
...
})(jQuery);

大部分事情发生在其中。

这个上层函数中有一些“小独立函数”。

在这个上层/包装/非命名函数中的一些行,称这些“小独立函数”。

另外,我想称这些“小独立功能”,但我不知道如何。

因为在“(function ($) {...})(jQuery);”中的那些行调用这些“小独立函数”,所以存在一些局部变量。

我认为一些代码可以帮助我说出来:

(function ($) {

if(...){
var items;

addItem(items)
}

function addItem(funcitems){}
...
})(jQuery);

我的问题是,如何调用additem,如何将“项目”传入其中?

我希望在自定义事件后在我的页面的自定义部分中调用它。

2 个答案:

答案 0 :(得分:1)

因为它们没有以任何方式暴露,所以没有一些疯狂的js hacks或编辑代码是不可能的。如果您确定库没有公开等效方法,那么唯一真正的解决方案是编辑它。

答案 1 :(得分:0)

您有两种方法可以实现这一目标:

1)将您的代码添加到此匿名函数中,以便您的代码与这些封装函数在同一范围内。 (因为你破坏了图书馆,所以不太好)

2)进行变量赋值并添加一个带有所需函数的return语句:(更好的是,因为你没有将库代码与你自己的代码混合在一起,只是暴露了一些函数)

var extLib = (function ($) {
   ...
   return{
      /* return the functions you need - written in object literal notation */
      addItem : addItem
      /*[,exposedName : internalName] */
   }
})(jQuery);

现在,您可以通过调用addItem来访问extLib.addItem(item)功能。