2017-10-26 19 views
1

ブロックする方法はありませんEnterアラートボックスが表示されたらキーボードを使用しますか?そのため、ユーザーはEscを押すか、Okボタンをクリックしてアラートを削除する必要があります。私の前のコメントで述べたようにJavascriptアラートを入力することはできません

<script> 
alert('Hello'); 
</script> 
+0

私が知る限り、アラートボックスは設定不可能で、対話するスクリプトを書くことはできません。 –

+0

いいえ。警告は文書の外にあり、イベント処理を追加することはできません。 – Talal

+0

唯一の方法は、jqueryの権利を使用する?カスタムアラートを作成しますか? –

答えて

1

、javascriptのアラートの標準:

alert("hello world!"); 

の取扱い、スタイル、およびJavaScriptコントロールの範囲外のブラウザで実行される機能です。

これで、簡単にカスタムポップアップボックスを作成できます。

私は非常に多くのスタイリングの上に行くつもりが、以下、あなたがスタイルボックスのために構築することができ、いくつかのコードではありませんよ。

<div id="alertBox" style="position:absolute;height:100%;width:100%;z-index:9999;background:white"> 
    <div id="alertText" style="position:relative;text-align:center;top:45%"> 
    You must press "esc" to escape! 
    </div> 
</div> 

のjavascriptしかし、私は、より詳細に説明します。

function code(e) { 
    e = e || window.event; 
    return(e.keyCode || e.which); 
} 

document.onkeypress = function(e){ 
    var key = code(e); 
    if(key == 27){ 
     //run some code, they pressed the esc key 
     document.getElementById('alertBox').style.display = "none"; 
    } 
}; 

最初の4行のコードは、どのキーが "e"という変数に押されたかを格納します。

document.onkeypress関数は、キーが押されたときのリッスンを開始します。 "e"変数は関数に渡され、分かりやすくするために "key"という名前の変数に保存されます。

"キー"変数はキーボードの "esc"キー番号27に対してテストされます。 "キー"がコードを実行するよりも27の場合、キーが押されても無視されます。

ここで実行するコードは、作成した警告ボックスを削除します。

私はそれが助けてくれることを願っています!

p.s.この回答はjQueryを使用していませんが、jQueryを使用すると、プロジェクト内にすでにコードがある場合、コードが少なくなります。

+0

ありがとう! 'もしキーコード== 27の部分が私の警報を今検索しているのですか? –

+0

helo YAHsaves、キー27は現在動作していません...何故? –

+0

あなたは私にもこれを適用して理由を見るためのコードをいくつか教えてください。私が私の答えで提供したhtmlとjavascriptをドキュメントにコピーすると、それは動作します。したがって、このコードをどのように使用して適用するかによって異なります。 – YAHsaves

関連する問題