在jQuery中命名空间?

时间:2011-08-19 11:36:45

标签: javascript jquery plugins

我目前正在开发jQuery的库插件,最终可能会作为开源项目发布。

我编写了许多自定义元素函数,并希望将与库相关的所有内容存储在命名空间中。

例如,假设我有一个名为toggle()的函数。通常,这将使用$(selector).toggle()来调用。但是,我想使用$(selector).mylib.toggle()这样的函数调用它和其他函数,以免干扰其他库或插件。

我以前开发过jQuery插件,但从不需要以这种方式保护方法。任何人都可以指出我如何编写实现此功能的方法吗?

1 个答案:

答案 0 :(得分:6)

我不完全确定,为什么你会想要这样做而不使用保存你的方法的“普通”命名空间对象。但是,您可能需要查看

jQuery.sub()
  

描述:创建一个jQuery的新副本,其属性和方法   可以在不影响原始jQuery对象的情况下进行修改。

通过“sub”(分类)jQuery对象,您不必再关心与其他插件的冲突了。因此,如果这是唯一的问题,那就去吧。

参考:.sub()