0

window.confirm のカスタム関数を実装したいので、大量のレガシー コードを書き直す必要はありませんが、何か問題が発生した場合や任意のロジックに依存した場合は、元の関数にフォールバックできます。

例として、簡単なスタブ コードを示します (おそらくこのようにはしないでしょうが、アイデアのためだけです)。

window.confirm = function(message, successCallback){
  var ok = site.UI.confirmDialog(message);
  if (ok && typeof(successCallback) == 'function'){
      successCallback();
  } else {
     // maybe call original browser confirm?
     // window.confirmOriginal...?
  }
}

ここでの質問は、上書きする場合に元の関数を取得する方法です。プロトタイプのどこかに存在するのでしょうか、それとも間違った見方をしているのでしょうか?

ありがとう。

4

1 に答える 1

5

ここにデモがあります

var origConfirm = window.confirm; //store for future use

​window.confirm = function(msg){   //override
     alert(msg);   
}

window.confirm('override!');      //should now be an alert
origConfirm('old confirm');       //the old confirm
于 2012-05-11T14:56:18.310 に答える