簡體   English   中英

如何將值從jquery插件傳遞給其回調函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM