0

考虑我有 2 个插件。即工具提示,弹出框。

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

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

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

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

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

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

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

4

1 回答 1

0

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

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

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

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

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

于 2013-02-14T06:01:11.733 回答