0

これが私がやろうとしていることです....

function myFunction()
{
  var x=jConfirm('Can you confirm this?', 'Confirmation Dialog', function (r) {
      y=r; 
      alert(y);
  });

  alert(x);
 }

alert(x) が最初に実行され (私は JavaScript の初心者です)、「未定義」と警告し、[OK] を押した後に「True」と警告し、[キャンセル] を押すと「False」と警告するのはなぜですか?

jConfirmがtrueまたはfalseを返すようにする方法はありますか...つまり、xをtrueまたはfalseにすることはできますか?

jConfirmの「http://abeautifulsite.net/ 」プラグインを使用しています。

4

1 に答える 1

0

jConfirm はボックスを作成しませんalert。アラート ボックスのような HTML 要素を作成します。ここでの重要な違いは、alert()ボックスが閉じられるまで Javascript の実行を停止するため、alert(1); console.log(2);最初に警告が表示され、次にコンソールにログが記録されることです。jConfirmは を使用しないためalert()、これを呼び出すjConfirm(1, ...); console.log(2)と確認ボックス (HTML) が表示され、その直後にコンソールに書き込みます。

これの複雑なバージョンalert()同期です。アラートから何かを選択するまで、スクリプトの実行をロックします。jConfirm は非同期であり、スクリプトの実行は、何かを選択するまで、選択とは無関係に続行されます。選択した時点で、コールバック関数がトリガーされます。

于 2014-09-23T10:41:46.320 に答える