Kemungkinan Duplikat:
Kode kunci mana untuk tombol melarikan diri dengan jQuery
Bagaimana cara mendeteksi tombol escape di IE, Firefox dan Chrome? Kode di bawah ini berfungsi di IE dan lansiran 27
, tetapi di Firefox lansiran0
$('body').keypress(function(e){
alert(e.which);
if(e.which == 27){
// Close my modal window
}
});
javascript
jquery
keyevent
jquery-events
Mithun Sreedharan
sumber
sumber
keyup
ataukeydown
dalam kombinasi dengankeyCode
karya di semua browser.$(document).on("keyup", function (e) {var code = e.keyCode || e.which; alert('key pressed: ' + code);});
Salam dari 2014Jawaban:
Catatan:
keyCode
ini semakin usang digunakankey
sebagai gantinya.Ini jsfiddle
keyCode
Semakin ditinggalkanKode kunci untuk tombol melarikan diri dengan jQuery
sumber
$(document).on('keyup.unique_name', ...)
dan$(document).unbind('keyup.unique_name')
===
.The
keydown
Acara akan bekerja dengan baik untuk melarikan diri dan memiliki manfaat yang memungkinkan Anda untuk menggunakankeyCode
di semua browser. Juga, Anda perlu melampirkan pendengardocument
daripada tubuh.Perbarui Mei 2016
keyCode
sekarang sedang dalam proses menjadi usang dan sebagian besar browser modern menawarkankey
properti sekarang, meskipun Anda masih akan membutuhkan mundur untuk dukungan browser yang layak untuk saat ini (saat menulis rilis Chrome dan Safari saat ini tidak mendukungnya).Pembaruan September 2018
evt.key
sekarang didukung oleh semua browser modern.sumber
<input>
elemen dan karenanya hanya akan dipicu ketika elemen ini memiliki fokus.if (evt.key === 'Escape') {
alih-alih menggunakan yang sudah usangkeyCode
.key
, lihat caniuse.com/#feat=keyboardevent-keyMenggunakan JavaScript, Anda dapat melakukan pemeriksaan jsfiddle
Menggunakan jQuery, Anda dapat melakukan pemeriksaan jsfiddle
sumber
periksa
keyCode
&&which
&keyup
||keydown
sumber
Cara terbaik adalah membuat fungsi untuk ini
FUNGSI:
CONTOH:
sumber
keypress
tidak menyala pada tombol pelarian. Paling tidak, tidak di Chrome di Mac.keydown
perbaiki masalah.Di bawah ini adalah kode yang tidak hanya menonaktifkan kunci ESC tetapi juga memeriksa kondisi di mana ia ditekan dan tergantung pada situasinya, ia akan melakukan tindakan atau tidak.
Dalam contoh ini,
akan menonaktifkan aksi tekan tombol ESC.
Anda dapat melakukan sesuatu seperti menyembunyikan div dengan ini:
Di mana tombol ESC ditekan juga dipertimbangkan:
Anda dapat menghapus bagian ini jika syarat jika Anda ingin menerapkan ini untuk semua. Atau Anda dapat menargetkan INPUT di sini untuk hanya menerapkan tindakan ini ketika kursor berada di kotak input.
sumber
saya pikir cara paling sederhana adalah vanilla javascript:
sumber
Escape
sebagaievent.key
dan tidak 27event.keyCode
27 tahun.