2013-02-14 108 views
0

考虑我有2个插件。即工具提示,popover。为jquery插件创建名称空间

现在我把这些功能,这样

$( '#目标')提示( '创建')。

$('#target')。popover('hide');

但我要创建这些功能共同命名空间,这样我可以给他们打电话这样

$(“#目标”)mynamespace.tooltip(“创建”)。

$('#target')。mynamespace.popover('hide');

我只是不能想出一个办法做到这一点

+0

这样做的意义何在? – janos 2013-02-14 06:23:09

回答

0

为了保持this,你将需要要么使你的命名空间中的另一个功能:

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

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

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

...或使用属性,它看起来更好,但旧版浏览器不支持。尽管这两种方式都不能很好地适用于整个jQuery语法,但要尽可能避免。 (例如,请考虑选择更具体的名称。)