Hansı düyməni basdığımı necə bilirəm?

Təmiz javascriptdə çapraz brauzer rejimində hansı əsas simvolu basıldığını bilmək istərdim.

60
04 дек. set xXx 04 dek. 2009-12-04 15:17 '09 at 15:17 2009-12-04 15:17
@ 8 cavab

Clear javascript:

 <script type="text/javascript"> function myKeyPress(e){ var keynum; if(window.event) { // IE keynum = e.keyCode; } else if(e.which){ // Netscape/Firefox/Opera keynum = e.which; } alert(String.fromCharCode(keynum)); } </script> <form> <input type="text" onkeypress="return myKeyPress(event)" /> </form> 

Jquery

 $(document).keypress(function(event){ alert(String.fromCharCode(event.which)); }); 
105
04 дек. Cavab Coyod 04 dekabr. 2009-12-04 15:36 '09 saat 15:36 'də 2009-12-04 15:36

Bu sualın bir milyondan artıq dublikatı var, lakin hələ də burada təkrarlanır:

 document.onkeypress = function(evt) { evt = evt || window.event; var charCode = evt.keyCode || evt.which; var charStr = String.fromCharCode(charCode); alert(charStr); }; 
border=0

Gördüyüm əsas hadisələrə ən yaxşı link http://unixpapa.com/js/key.html .

21
04 дек. Cavab Tim Down tərəfindən verilir 04 Dekabr. 2009-12-04 15:41 '09 saat 15:41 'da, 2009-12-04 15:41

Etibarlı cross-browser dəstəyi təmin etmək üçün, jQuery kimi bir kitabxana istifadə edin : klaviatura hadisələrinə baxın

Əlbəttə ki, digər Javascript kitabxanaları var:

4
04 дек. Gregory Pakosz tərəfindən verilmiş cavab 04 dekabr 2009-12-04 15:21 '09 saat 15:21 'da 2009-12-04 15:21

Bu səhifəyə baxın, cross-browser http://www.quirksmode.org/js/keys.html uyğunsuzluğu

3
04 дек. Cavab Matt 04 dekabrda verilir. 2009-12-04 15:26 '09 saat 15:26 'də 2009-12-04 15:26

Bu mürəkkəb yol üçün mənim sevimli kitabxanamdan biri Mousetrap .

Bu bir çox plugins ilə gəlir, biri klaviatura vuruşlarının bir sıra təyin edə bilən bir record plugindir.

Məsələn:

 <script> function recordSequence() { Mousetrap.record(function(sequence) { // sequence is an array like ['ctrl+k', 'c'] alert('You pressed: ' + sequence.join(' ')); }); } </script> <button onclick="recordSequence()">Record</button> 
1
13 нояб. Cavab dipole_moment Noyabr 13 ilə verilir 2015-11-13 16:47 '15 'da 16:47' de, 2015-11-13 16:47
 **check this out** <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script> $(document).ready(function(){ $(document).keypress(function(e) { var keynum; if(window.event) { // IE keynum = e.keyCode; } else if(e.which) { // Netscape/Firefox/Opera keynum = e.which; } alert(String.fromCharCode(keynum)); var unicode=e.keyCode? e.keyCode : e.charCode; alert(unicode); }); }); </script> </head> <body> <input type="text"></input> </body> </html> 
1
08 дек. Cavab kki3908050 tərəfindən verilir 08 dekabr . 2014-12-08 15:31 '14 da 15:31 2014-12-08 15:31

Daha yeni və daha təmizdir: event.key istifadə event.key . Kefi ədəd yoxdur!

 node.addEventListener('keydown', function(event) { const key = event.key; // "a", "1", "Shift", etc. }); 

Mozilla Sənədləri

Desteklenen brauzerlər

0
05 сент. cavab Gibolt verildi 05 Sep. 2017-09-05 21:03 '17 də 21:03 2017-09-05 21:03

Bunu istifadə edin:

 function onKeyPress(evt){ evt = (evt) ? evt : (window.event) ? event : null; if (evt) { var charCode = (evt.charCode) ? evt.charCode :((evt.keyCode) ? evt.keyCode :((evt.which) ? evt.which : 0)); if (charCode == 13) alert('User pressed Enter'); } } 
0
04 дек. Cavab JCasso tərəfindən verilir 04 dekabr. 2009-12-04 15:31 '09 at 15:31 'da 2009-12-04 15:31

tags ilə bağlı digər suallar və ya bir sual