jQuery插件公共方法/功能

Ale*_*art 3 javascript jquery plugins public-method

我试图实现类似以下的东西,但不知道什么是错的:

$.a = function() {

// some logic here

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


}

$.a.abc('1');
Run Code Online (Sandbox Code Playgroud)

我尝试使用return函数,但这似乎也没有用.有人可以请帮助.

感谢您的时间.

Bli*_*ixt 9

既然$.a必须是函数本身,你必须将abc函数作为属性添加到$.a函数中:

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

$.a.abc = function (id) {
    alert('test' + id);
};
Run Code Online (Sandbox Code Playgroud)

如果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');
Run Code Online (Sandbox Code Playgroud)