我目前正在开发jQuery的库插件,最终可能会作为开源项目发布。
我编写了许多自定义元素函数,并希望将与库相关的所有内容存储在命名空间中。
例如,假设我有一个名为toggle()
的函数。通常,这将使用$(selector).toggle()
来调用。但是,我想使用$(selector).mylib.toggle()
这样的函数调用它和其他函数,以免干扰其他库或插件。
我以前开发过jQuery插件,但从不需要以这种方式保护方法。任何人都可以指出我如何编写实现此功能的方法吗?
答案 0 :(得分:6)
我不完全确定,为什么你会想要这样做而不使用保存你的方法的“普通”命名空间对象。但是,您可能需要查看
jQuery.sub()
描述:创建一个jQuery的新副本,其属性和方法 可以在不影响原始jQuery对象的情况下进行修改。
通过“sub”(分类)jQuery对象,您不必再关心与其他插件的冲突了。因此,如果这是唯一的问题,那就去吧。
参考:.sub()