我提供了一个js / css模板。 它在交互式事件处理方面非常有才华,但我在js / jquery上没有天赋。
在其js库中,有一个.js文件, 并且文件包含一些代码:
(function ($) {
...
})(jQuery);
大部分事情发生在其中。
这个上层函数中有一些“小独立函数”。
在这个上层/包装/非命名函数中的一些行,称这些“小独立函数”。
另外,我想称这些“小独立功能”,但我不知道如何。
因为在“(function ($) {...})(jQuery);
”中的那些行调用这些“小独立函数”,所以存在一些局部变量。
我认为一些代码可以帮助我说出来:
(function ($) {
if(...){
var items;
addItem(items)
}
function addItem(funcitems){}
...
})(jQuery);
我的问题是,如何调用additem,如何将“项目”传入其中?
我希望在自定义事件后在我的页面的自定义部分中调用它。
答案 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)
功能。