jQuery在jQuery插件上调用回调

时间:2011-10-24 12:55:50

标签: jquery callback jquery-callback

我已经在我的jQuery插件中添加了回调。

$.fn.myPlg= function(options, callback) {
    if(callback) {
       //do stuff
    }
}

现在如何从jQuery调用此回调,例如

$(document).myPlg( function(){

// how to call callback?

});

2 个答案:

答案 0 :(得分:1)

这将导致回调函数执行:

$.fn.myPlg= function(options, callback) {
    if(callback) {
       callback();
    }
}

正如Samich所说,你应该使用一个选项对象,即使回调是你唯一的选择。这样您就可以轻松添加更多选项。

这样做就像这样:

$.fn.myPlg= function(options) {
    if(options.callback) {
       options.callback();
    }
}

$(document).myPlg({
   callback: function() { 
     // callback logic here
   } 
});

答案 1 :(得分:0)

在你的情况下,它将是第二个参数:

$(document).myPlg({option1: 'a', option2: 'b'}, function(){
   // callback logic here
});

但请注意,您需要在插件定义中调用回调,而不是使用。我的意思是你的样本的第一部分。

最好将其包含在选项中:

$.fn.myPlg= function(options) {
    if(options.callback) {
       //do stuff
    }
}

$(document).myPlg({
   option1: 'a', 
   option2: 'b', 
   callback: function() { 
         // callback logic here
   } 
});