正在为jquery插件创建命名空间

Creating namespace for jquery plugins

本文关键字:创建 命名空间 插件 jquery      更新时间:2023-09-26

考虑一下我有两个插件。即工具提示,popover。

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

$('#target').toolkit('create');

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

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

$('#target').mynamespace.tittip('create');

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

我只是想不出做这个的方法

要维护this,您需要将命名空间设置为另一个函数:

$.fn.mynamespace = function() {
    var that = this;
    return {
        tooltip: …,
        popover: …
    };
};
$('#target').mynamespace().tooltip('create')

…或者使用一个看起来更好但不受旧浏览器支持的属性。不过,这两种方法都不太适合整个jQuery语法,所以尽可能避免使用。(例如,考虑只选择更具体的名称。)