簡體   English   中英

使用CallBack進行Jquery自定義功能

[英]Jquery custom function with CallBack

我有以下功能:

Test.prototype.showToken = function () {
         $('#modal').modal('show');

         $('#modal').find('#btnOk').click(function (e) {
             // here I want to callback
             var returnValue = '123';
         });

     $('#modal').find('#btnProcess').click(function (e) {
             // here I want to callback cancel
             var returnValue = '456';
         });
     },

現在我在其他功能中有這個:

$.Test.showToken();

這工作正常...現在我想在我的showToken里面有一個CallBack所以當點擊按鈕發生時,我進入我的其他功能,觸發了回調。 例如:

$.Test.showToken(function(e){

   // here would like to get the trigger when the btnOK is clicked and also be able to get the returnValue.

   // here would like to get the trigger when the btnProcess is clicked and also be able to get the returnValue.

});

任何線索?

您可以在函數參數中接受回調函數。

Test.prototype.showToken = function (options) {
   $('#modal').modal('show');

   $('#modal').find('#btnOk').click(options.okButtonCallback);

   $('#modal').find('#btnProcess').click(options.processButtonCallback);
}

然后當你調用你的函數時,你可以通過回調來做特殊的事情。

$.Test.showToken({okButtonCallback: function(){
   // This will run on the ok button press.
}, processButtonCallback: function(){
   // This will run on the process button press.
}});

這是你想要的嗎?

Test.prototype.showToken = function (okCallback, processCallback) {
         $('#modal').modal('show');

         $('#modal').find('#btnOk').click(function (e) {
             // here I want to callback
             var returnValue= ???
             okCallback(returnValue)
         });

     $('#modal').find('#btnProcess').click(function (e) {
             // here I want to callback cancel
             processCallback()
         });
     },
/// ...

/// Usage:

Test.showToken(function(retValFromOk){ 
   // from OK
   console.log("From ok", retValFromOk);
}, function() {
   // from process
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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