41

一定時間後または特定のイベント (つまりonkeypress) で Javascript を使用してアラート ボックスを自動的に閉じることができるようにしたいと考えています。alert()私の調査によると、組み込み関数ではそれが可能ではないようです。それをオーバーライドして、開いたダイアログ ボックスを制御する方法はありますか?

また、非表示の div をアラートとして表示するオーバーライドは必要ありません。実際のダイアログ ボックスが必要です。

4

11 に答える 11

22

前述のように、これは実際にはできません。UIフレームワークを使用してウィンドウ内でモーダルダイアログを実行したり、タイムアウト後に自動で閉じるスクリプトを使用してポップアップウィンドウを作成したりできます...それぞれにマイナスの側面があります。ウィンドウが最小化されている場合、ブラウザー内のモーダル ウィンドウは通知を作成しません。また、プログラムによる (タイマー ベースの) ポップアップは、最新のブラウザーやポップアップ ブロッカーによってブロックされる可能性があります。

于 2009-01-20T23:43:30.243 に答える
6

ダイアログ ボックスを制御できません。ダイアログ ボックスを制御できる場合は、目障りな JavaScript コードを記述できます。(デバッグ以外にアラートを使用するのは良い考えではありません)

于 2009-01-20T22:23:30.547 に答える
3

一定時間後または特定のイベント (つまり onkeypress) で、javascript を使用してアラート ボックスを自動的に閉じることができるようにしたい

補足: Alert("data") がある場合、コードをバックグラウンドで実行し続けることはできません (AFAIK)... . ダイアログ ボックスはモーダル ウィンドウなので、フォーカスを失うこともありません。したがって、キーを押すこともタイマーを実行することもありません...

于 2009-01-20T22:27:43.970 に答える
1

ポップアップ ウィンドウを開いて、それをダイアログ ボックスと呼ぶことができると思います。詳細はわかりませんが、javascript から開いたウィンドウをプログラムで閉じることができると確信しています。これで十分でしょうか?

于 2009-01-20T22:23:19.110 に答える
1

ここでの唯一の代替手段は、モーダル オプションを備えた何らかのカスタム ウィジェットを使用することです。これらの機能を備えたダイアログの例については、jQuery UI をご覧ください。あなたが言及できるほぼすべてのJSフレームワークに同様のものがあります。

于 2009-01-20T22:36:54.763 に答える
-1

JS でプログラム的に実行すると、車輪を再発明するようなものになります。jGrowlというjQueryプラグインの使用をお勧めします

于 2009-01-20T22:24:28.657 に答える
-3

ラベルを使用して、最初は非表示にしてクリック時に表示するなど、フェードインおよびフェードアウト時間を設定できます。$('#div_Message').fadeIn(500).delay(1000).fadeOut(1500);

于 2012-02-27T06:07:26.483 に答える