如何避免jquery插件之间的函数冲突

如何避免jquery插件之间的函数冲突,jquery,jquery-plugins,Jquery,Jquery Plugins,我遇到了一个问题,我最终得到了两个名为相同的函数(jquery.fn.filter)。一个来自第三方插件,另一个来自我的一个插件。显然,我可以在我的插件中重命名该函数,但是如何着手编写插件以避免这种情况发生呢?有没有可能引入像java/.netdo这样的名称空间?我喜欢你对jQuery名称空间的看法 ()如果在samename下有任何函数,则没有帮助。这里的问题不是jquery代码是否可以命名-您描述的冲突发生在jquery插件的“导出”界面中,即用户的函数名。这与传统意义上的名称空间无关 由于

我遇到了一个问题,我最终得到了两个名为相同的函数(jquery.fn.filter)。一个来自第三方插件,另一个来自我的一个插件。显然,我可以在我的插件中重命名该函数,但是如何着手编写插件以避免这种情况发生呢?有没有可能引入像java/.netdo这样的名称空间?

我喜欢你对jQuery名称空间的看法


()如果在samename下有任何函数,则没有帮助。

这里的问题不是jquery代码是否可以命名-您描述的冲突发生在jquery插件的“导出”界面中,即用户的函数名。这与传统意义上的名称空间无关

由于在集合上使用简短、易于记忆的函数名是jQuerys概念的一个重要部分,因此在不牺牲简单性的情况下,没有什么可以真正做到这一点

话虽如此,一个可能但丑陋的解决方案如下:

$("#selector").fns("my.name.space.company")("myargument");
此代码将调用一个虚函数
fns
,该函数将给定字符串解析为实函数并返回此函数。但是,将此功能作为插件实现会带来相同的问题


结论:没有出路;-)

最后一点:使用类似$(“#选择器”)的相同长度的函数名使用上述轮询函数没有任何好处;我不知道这有什么帮助。我的问题是两个jQuery插件在Query.fn中定义了一个同名函数。jQuery.fn.filterCharacters=函数(选项){…}