jQuery plugin public method/function

javascript, jquery, plugins, public-method

Solution

Since `$.a` must be a function in itself, you'll have to add the `abc` function as a property to the `$.a` function:

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

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

If `abc` must be defined from within the `$.a` function, you can do the following. Do note that `$.a.abc` will not be available until `$.a` has been called when using this method! Nothing inside a function is evaluated until a function is called.

$.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');

Problem

I am trying to achieve something like the following but dont know whats wrong: ``` $.a = function() { // some logic here function abc(id) { alert('test'+id); } } $.a.abc('1'); ``` I tried using the return function, but that doesnt seem to work either. Can someone please help. Thank you for your time.

Original source