Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как в keyup получить символ? (https://javascript.ru/forum/jquery/47424-kak-v-keyup-poluchit-simvol.html)

nkl 23.05.2014 11:46

Как в keyup получить символ?
 
Собственно проблемы бы не возникло, если бы во всех браузерах имелся бы e.key. Но почему-то только в моззиле в это свойство пишется символ, который нарисован на клавише, которая вызывает событие keyup. В остальных браузерах undefined.

Как мне получить именно символ? keycode оно и понятно, номер клавиши на клавиатуре (причем что в русской, что в казахской что в английской раскладке он одинаковый), а вот что вводит эта клавиша в зависимости от раскладки, комбинации с Shift или CapsLook? Почему только в Моззиле это работает? Как заставить делать это другие браузеры? Или может кастыль какой подскажите?

рони 23.05.2014 12:11

nkl,
Вариант ...
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
  	$(function ()
  	  {
  	    function fixedFromCharCode (codePt) {
  	      if (codePt > 0xFFFF) {
  	        codePt -= 0x10000;
  	        return String.fromCharCode(0xD800 + (codePt >> 10), 0xDC00 + (codePt & 0x3FF));
  	      } else {
  	        return String.fromCharCode(codePt);
  	      }
  	    }
  	    $('body').keypress(function (event)
  	      {
  	        alert(fixedFromCharCode (event.which))
  	      }
  	    )
  	  }
  	)
  </script>
</head>

<body>
  <p>кликнуть тут и жмак по клаве</p>
</body>
</html>

nkl 23.05.2014 12:33

Ну в keypress я тоже могу это получить, а вот в keyup? Есть еще варианты?


Часовой пояс GMT +3, время: 16:46.