[英]How to pass a value from a jquery plugin to its callback function
我創建了一個簡單的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來自插件並用於回調函數,有沒有辦法做到這一點?
謝謝。
為什么不在調用回調時傳遞結果? 像這樣:
(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');
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.