jQuery插件公共方法/函数(jQuery plugin public method/functi

2019-06-27 05:03发布

我想实现类似下面的,但不知道什么是错:

$.a = function() {

// some logic here

function abc(id) {
   alert('test'+id);
}


}

$.a.abc('1');

我尝试使用返回功能,但似乎没有擦出火花。 是否有人可以帮助。

感谢您的时间。

Answer 1:

由于$.a必须在本身的功能,你必须添加abc功能属性到$.a功能:

$.a = function () {
    // some logic here...
};

$.a.abc = function (id) {
    alert('test' + id);
};

如果abc必须从内定义$.a功能,你可以做到以下几点。 请注意, $.a.abc将无法使用,直到$.a使用此方法时被调用! 在函数内部没有进行评估,直到一个函数被调用。

$.a = function () {

    // Do some logic here...

    // Add abc as a property to the currently calling function ($.a)
    arguments.callee.abc = function (id) {
        alert('test' + id);
    };
};

$.a();
$.a.abc('1');


Answer 2:

$.a = (function(){
    var a = function() {
        //...
    };
    a.abc = function() {
        //...
    }
    return a;
})();


文章来源: jQuery plugin public method/function