为jquery插件创建命名空间

时间:2013-02-14 05:56:16

标签: javascript jquery

考虑我有2个插件。即工具提示,popover。

现在我调用这些函数,就像这样

  

$( '#靶')工具提示( '创建');

     

$( '#靶')酥料饼( '隐藏');

但我想为这些函数创建一个通用命名空间,以便我可以像这样调用它们

  

$( '#靶')mynamespace.tooltip( '创建');

     

$( '#靶')mynamespace.popover( '隐藏');

我只是想办法做到这一点

1 个答案:

答案 0 :(得分:0)

要维护this,您需要使命名空间成为另一个函数:

$.fn.mynamespace = function() {
    var that = this;

    return {
        tooltip: …,
        popover: …
    };
};

$('#target').mynamespace().tooltip('create')

...或使用一个看起来更好但旧浏览器不支持的属性。但是,这些方法都不适合整个jQuery语法,所以尽量避免使用。 (例如,考虑选择更具体的名称。)