1

こんばんはチャップス..

VB/VBA の msgbox 関数に似たオンスクリーン ダイアログを生成する関数を Javascript で作成しようとしています。私はこれまでのところ、Javascript で msgbox 関数をコーディングして、呼び出されたときに画面上に動的にダイアログを作成することができました。

それはこのように動作します:-

if (msgbox("Do you want to continue", YesNo) == Yes) {
      //Do something here
}

私が知りたいのはこれです-動的に生成されたダイアログのボタンの1つが押されるまで、コードでフローを停止/一時停止できる方法はありますか? ユーザーがダイアログで「はい」ボタンをクリックするまで、「ここで何かをする」ビットまたはその他の後続のコードを実行したくありません。

(注: 上記の例の YesNo と Yes は定数です。この時点まで、ダイアログは完全に機能します。ボタンが押されるまでフローを停止する方法を理解する必要があるだけで、複雑になりすぎません)。

マット

4

4 に答える 4

2

確認ボックスを使用すると、これでうまくいくはずです。ok/cancelオプションを含むプロンプトが表示されます。

    if (confirm("Are you sure you wish to continue?")){
//executed when OK clicked
}
else{
//executed when CANCEL clicked
}

回答が得られるまで、ワークフローは関数で一時停止されることに注意してください

于 2012-10-05T15:02:38.760 に答える
0

HTML 要素を使用している場合はonclick、[はい] ボタンのプロパティを目的のアクションを含む関数に設定するかaddEventListener、最新のブラウザーに使用できます。

function doStuff () {
    // do stuff here
}

button.onclick = doStuff;

スクリプトを構成する方法は、グローバル変数またはトップ レベル関数をセットアップするために必要なトップ レベル コードがあり、ページの読み込み時に発生するその他の処理を実行することです。次に、さまざまなユーザー アクション (クリック/ホバリング/キーストロークなど) でコールバックを実行する関数を作成します。実際の「一時停止」は行われませんが、関数を延期して、ユーザー入力に応答してのみ実行することができます。

モーダル ダイアログのように他のユーザー アクションをブロックしたい場合は、グローバル変数またはオブジェクトのプロパティを介して状態を設定し、実行前にすべてのコールバックでそれをチェックする必要があります。confirmこれは簡単に複雑になる可能性があり、単純なプロンプトを使用することを好む理由かもしれません.

于 2012-10-05T15:05:38.790 に答える
0

この種のことのために、JSにはalert()andがあります。prompt()Alert は確認のみが必要な単純なメッセージ用で、prompt は何らかの入力を返すことができます。

于 2012-10-05T15:01:22.377 に答える