0

「確認またはキャンセル」ダイアログを動的に作成し、クリック イベントを [OK] および [キャンセル] リンクにバインドする関数があるとします。

function confirmOrCancelDialog() {
    //already created $dialog to popup on screen

    $dialog.find('a.confirm').click(function() {
        //close dialog
        return true;
    });

    $dialog.find('a.cancel').click(function() {
        //close dialog
        return false;
    });

}

次に、このダイアログの作成を別の関数から呼び出しています。インタラクションの結果を呼び出し関数に渡したい。

function performAction() {
    var clickResult = confirmOrCancelDialog();

    if (clickResult === true) {
        //do some stuff
    }
}

これを行う方法についてのガイダンスをいただければ幸いです。ありがとう。

4

3 に答える 3

3
function confirmOrCancelDialog(someStuff) {
    //already created $dialog to popup on screen

    $dialog.find('a.confirm').click(function() {
        //close dialog
        someStuff(true);
        return true;
    });

    $dialog.find('a.cancel').click(function() {
        //close dialog
        someStuff(false);
        return false;
    });

}
function performAction() {
    confirmOrCancelDialog(function(clickResult){
        if (clickResult === true) {
            //do some stuff
        }
    });
}
于 2013-10-09T22:35:22.097 に答える
0

これを試して:

function confirmOrCancelDialog(callback) {
  //already created $dialog to popup on screen
  $dialog.find('a.confirm').click(function() {
    //close dialog
    callback(true);
  });

  $dialog.find('a.cancel').click(function() {
    //close dialog
    callback(false);
  });
}

function performAction() {
  confirmOrCancelDialog(function(clickResult){
    if (clickResult === true) {
      //do some stuff
    }
  });
}
于 2013-10-09T22:43:31.227 に答える