angry kiwi
angry kiwi

Reputation: 11485

jquery plugin public function

This is my plugin

(function($){
    $.fn.editor = function(options){
        var defaults = {},
        settings = $.extend({},defaults, options);
        this.each(function(){
            function save(){
                alert('voila'); 
            }
        });
    }
})(jQuery);

I want to call function save from outside the plugin. How can I do it ?

Upvotes: 2

Views: 2200

Answers (2)

angry kiwi
angry kiwi

Reputation: 11485

this works best for me.

(function($){
    $.fn.editor = function(options){
        var defaults = {},
        settings = $.extend({},defaults, options);
        this.each(function(){
            function save(){
                alert('voila'); 
            }
            $.fn.editor.externalSave= function() {
                save();
            }
        });

    }
})(jQuery);

call

$(function(){
    $('div').editor();
    $.fn.editor.externalSave();
});

Upvotes: 3

andres descalzo
andres descalzo

Reputation: 14967

for example something like this?:

call method

var save = function () {

   var self = this; // this is a element of each

};

(function($){
    $.fn.editor = function(options){
        var defaults = {},
        settings = $.extend({},defaults, options);
        this.each(function(){
           save.call(this) // you can include parameters 
        });
    }
})(jQuery);

Upvotes: 1

Related Questions