Escape düyməsini pure js və ya jquery ilə necə aşkar etmək olar?

Mümkün dublikat:
JQuery ilə qaçış düyməsinin əsas kodu nədir

IE, Firefox və Chrome-da Escape düyməsini necə aşkarlaya bilərik? Aşağıdakı kodu IE-də və xəbərdarlıqlarda işləyir 27 , lakin firefox-da 0 xəbərdarlıq edir

 $('body').keypress(function(e){ alert(e.which); if(e.which == 27){ // Close my modal window } }); 
445
30 июля '10 в 10:54 2010-07-30 10:54 Mithun Sreedharan 30 iyul 'da 10:54' da soruşdu 2010-07-30 10:54
@ 7 cavab

Qeyd: keyCode əvəzinə köhnəlmiş istifadə key alır .

 function keyPress (e) { if(e.key === "Escape") { // write your logic here. } } 

Burada jsfiddle edir


keyCode köhnəlmiş olur

Açar keydownkeyup işi görünür


 $(document).keyup(function(e) { if (e.key === "Escape") { // escape key maps to keycode '27' // <DO YOUR WORK HERE> } }); 

JQuery istifadə edərək qaçış düyməsinin əsas kodu nədir

838
30 июля '10 в 10:59 2010-07-30 10:59 Cavab Jigar Joshi tərəfindən 30 iyul 10: 10'da 2010-07-30 10:59 tarixində verilir

keydown olayı qaçmaq üçün yaxşı işləyəcək və keyCode bütün brauzerlərdə istifadə edilməsinə üstünlük verir. Ayrıca dinləyiciyi document deyil, bədəninə əlavə etmək lazımdır.

May 2016'ı yeniləyin

keyCode hazırda köhnəlmə prosesindədir və ən müasir brauzerlər artıq key xüsusiyyətləri təklif edirlər, baxmayaraq ki, hələ də düzgün brauzer dəstəyi üçün bir fallback seçiminə ehtiyac duyulur (bu günlərdə, Chrome və Safari dəstək vermədi).

border=0

Sentyabr 2018 yeniləməsi. evt.key indi bütün müasir brauzerlər tərəfindən dəstəklənir.

 Click me 
176
30 июля '10 в 11:18 2010-07-30 11:18 Cavab 30 iyul 'da saat 10: 30-da Tim Down tərəfindən verilmişdir 2010-07-30 11:18

Javascript istifadə edərək, jsfiddle test edə bilərsiniz

 document.onkeydown = function(evt) { evt = evt || window.event; if (evt.keyCode == 27) { alert('Esc key pressed.'); } }; 

JQuery istifadə edərək, jsfiddle test edə bilərsiniz

 jQuery(document).on('keyup',function(evt) { if (evt.keyCode == 27) { alert('Esc key pressed.'); } }); 
29
11 июля '14 в 9:06 2014-07-11 09:06 Cavab Subodh Ghulaxe tərəfindən 11 iyul '14 'də 9:06 2014-07-11 09:06 tərəfindən verilir

keyCode kontrol keyCodewhichkeyup || keydown

 $(document).keydown(function(e){ var code = e.keyCode || e.which; alert(code); }); 
15
30 июля '10 в 10:57 2010-07-30 10:57 Cavab 30 iyul '10' da 10:57 'da, 2010-07-30 10:57

Bunun ən yaxşı yolu bunun bir funksiyasıdır.

FUNCTION:

 $.fn.escape = function (callback) { return this.each(function () { $(document).on("keydown", this, function (e) { var keycode = ((typeof e.keyCode !='undefined'  e.keyCode) ? e.keyCode : e.which); if (keycode === 27) { callback.call(this, e); }; }); }); }; 

Məsələn:

 $("#my-div").escape(function () { alert('Escape!'); }) 
6
19 нояб. Ivijan Stefan Stipić tərəfindən verilmiş cavab 19 noyabr. 2014-11-19 17:00 '14 saat 17:00 'də 2014-11-19 17:00 ' də

Aşağıda yalnız ESC düyməsini söndürməklə yanaşı, onu basıldığı vəziyyəti də yoxlayır və vəziyyətə uyğun olaraq, hərəkətləri yerinə yetirəcək və ya etməyəcək bir koddur.

Bu nümunədə

 e.preventDefault(); 

ESC düyməsini basaraq hərəkətini qıracaq.

Divu gizləmək üçün hər şeyi edə bilərsiniz:

 document.getElementById('myDivId').style.display = 'none'; 

ESC düyməsinə basmaq da nəzərə alınır:

 (e.target.nodeName=='BODY') 

Əgər hər birinizə müraciət etmək istəyirsinizsə, əgər bu şərtlərin bir hissəsini çıxararsınız. Yoxsa imleci giriş sahəsində olduğunda bu hərəkəti tətbiq etmək üçün yalnız INPUT'u məqsədəuyğun hesab edə bilərsiniz.

 window.addEventListener('keydown', function(e){ if((e.key=='Escape'||e.key=='Esc'||e.keyCode==27)  (e.target.nodeName=='BODY')){ e.preventDefault(); return false; } }, true); 
6
03 янв. Cavab Tarık 03 yanvar verilir . 2017-01-03 07:07 '17 də 7:07 2017-01-03 07:07

Mən ən asan yolu vanil javascript hesab edirəm:

 document.onkeyup = function(event) { if (event.key === 27){ //do something here } } 
2
01 дек. Cavab Duan Walker tərəfindən verilir 01 Dekabr. 2016-12-01 01:08 '16 'da 1:08' də 2016-12-01 01:08 'də

yazıları ilə bağlı digər suallar ya da sual