jQuery Plugin: Adding Callback functionality

后端 未结 6 1788
孤街浪徒
孤街浪徒 2020-11-28 00:40

I\'m trying to give my plugin callback functionality, and I\'d like for it to operate in a somewhat traditional way:

myPlugin({options}, function() {
    /*          


        
6条回答
  •  感情败类
    2020-11-28 01:30

    Just execute the callback in the plugin:

    $.fn.myPlugin = function(options, callback) {
        if (typeof callback == 'function') { // make sure the callback is a function
            callback.call(this); // brings the scope to the callback
        }
    };
    

    You can also have the callback in the options object:

    $.fn.myPlugin = function() {
    
        // extend the options from pre-defined values:
        var options = $.extend({
            callback: function() {}
        }, arguments[0] || {});
    
        // call the callback and apply the scope:
        options.callback.call(this);
    
    };
    

    Use it like this:

    $('.elem').myPlugin({
        callback: function() {
            // some action
        }
    });
    

提交回复
热议问题