我创建了一个简单的Jquery函数,它接受了一些参数并得出了某种结果。我需要能够将此结果传递给jquery插件的回调函数。
(function( $ ){
$.fn.newPlugin= function(params,CBfunction){
//do some stuff;
var result = "something";
CBfunction.call(this);
};
})( jQuery );
当我使用插件时,我希望能够将插件的结果解析为回调函数:
$(elm).newPlugin(params, function(params, this.result){
//this.resullt comes from the plugin ('something');
})
这可能吗?
例如,查看变量" myVar":
(function( $ ){
$.fn.newPlugin= function(a,b,CBfunction){
myVar = a+b;
CBfunction.call(this);
};
})( jQuery );
我使用插件:
$(elm).newPlugin(a,b,function(){
alert("the result of "+a+" + "+b+" is:"+myVar);
})
myVar来自插件并在回调函数中使用,有没有办法做到这一点?
感谢。
答案 0 :(得分:2)
为什么不在调用回调时传递结果?像这样:
(function( $ ){
$.fn.newPlugin= function(params,CBfunction){
//do some stuff;
var result = "something";
CBfunction.call(this, result);
};
})(jQuery);
然后你需要修改你的调用看起来像这样(顺便说一下,注意我从回调中删除了'param'参数,因为只传递了一个参数):
$(elm).newPlugin(params, function(result){
// result comes from the plugin ('something');
})