javascript window.openポップアップがあり、ユーザーがESCキーを押したときにポップアップを閉じるようにします。どのようにkeydownイベント(そしてどのオブジェクトにフックするか)を把握することができないので、ESCキーを捕まえることができます。javascriptポップアップウィンドウでESC keydownを処理する方法
私はjQueryを使用しています。
javascript window.openポップアップがあり、ユーザーがESCキーを押したときにポップアップを閉じるようにします。どのようにkeydownイベント(そしてどのオブジェクトにフックするか)を把握することができないので、ESCキーを捕まえることができます。javascriptポップアップウィンドウでESC keydownを処理する方法
私はjQueryを使用しています。
このような何かを試してみてください:
$(document).keydown(function(e) {
// ESCAPE key pressed
if (e.keyCode == 27) {
window.close();
}
});
を使用すると、ポップアップ・ウィンドウに機能@Gumbo postedを使用しなければならないことに注意してください...だから、ポップアップでのjQueryを含めると、そこに機能しませ実行する必要があります。ポップアップを開くウィンドウ。
Gumboとは何ですか? (Stackoverflowの意味のないスペース) –
マシンは、Gumboが投稿した(受け入れた)関数を参照しています。 –
バインドkey eventsを簡単に実現するには、Jqueryを使用します。
ここでは、jQueryのを使用しないJSで達成することが可能です.keydown()
$(document).keydown(function(e) {
if (e.keyCode == 27) {
window.close();
}
});
リンクが壊れています。 – Dinei
を使用することができます。
window.onkeydown = function(event) {
if (event.keyCode == 27) {
console.log('escape pressed');
}
};
質問がjQueryを求めているので、これが投票されたことを理解していますが、純粋なJavaScriptを探している人にとっては、この回答は非常に役に立ちます。だから私から1アップ投票。 –
jQueryは通常のJSを使用する機能を削除しないことに注意してください。 –
素晴らしいです。本当にありがとう! –
@Gumboの答えは良いのですが、多くの場合、あなたは私がone
イベントハンドラを使用することをお勧めしてこの動作を外しする必要があります。
$(document).one('keydown', function(e) {
// ESCAPE key pressed
if (e.keyCode == 27) {
window.close();
}
});
OR
$(document).on('keydown', function(e) {
// ESCAPE key pressed
if (e.keyCode == 27) {
window.close();
}
});
と準備行動を停止する
$(document).off('keydown');
これ以上の任意のコードはありません!
document.addEventListener('keydown', function(event) {
const key = event.key; // const {key} = event; in ES6+
if (key === "Escape") {
window.close();
}
});
あなたはこのためにガンボありがとうございました。それはGoogleの最初のものとして登場した:) – dvLden