0

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

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

现在如何从 jQuery 调用这个回调,例如

$(document).myPlg( function(){

// how to call callback?

});
4

2 回答 2

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
   } 
});
于 2011-10-24T13:32:50.770 回答
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
   } 
});
于 2011-10-24T13:00:24.517 回答