UIEvent: свойство which

Устарело: Эта возможность была удалена из веб-стандартов. Хотя некоторые браузеры по-прежнему могут поддерживать её, она находится в процессе удаления. Не используйте её ни в старых, ни в новых проектах. Страницы или веб-приложения, использующие её, могут в любой момент сломаться.

Доступное только для чтение свойство UIEvent.which интерфейса UIEvent возвращает число, указывающее на то, какая клавиша мыши была нажата или числовой код (keyCode) или код символа (charCode) нажатой клавиши на клавиатуре.

Значение

Значение для KeyboardEvent Non-standard

Для KeyboardEvent event.which содержит числовой код нажатой клавиши. Смотрите KeyboardEvent.charCode и KeyboardEvent.keyCode для дополнительной информации.

Примечание: Для новых приложений используйте KeyboardEvent.key или KeyboardEvent.code.

Значение для MouseEvent Non-standard

Для MouseEvent event.which содержит число, представляющее нажатую клавишу:

  • 0: Клавиша не нажата
  • 1: Левая клавиша
  • 2: Средняя клавиша
  • 3: Правая клавиша

Для мыши, настроенной на использование левой рукой, действия кнопок меняются на противоположные. В этом случае значения считываются справа налево.

Примечание: Для новых приложений используйте MouseEvent.button.

Примеры

html
<html lang="en">
  <head>
    <title>Пример charCode/keyCode/which</title>

    <script>
      function showKeyPress(evt) {
        alert(
          `Обработчик onkeypress:\n` +
            `свойство keyCode: ${evt.keyCode}\n` +
            `свойство which: ${evt.which}\n` +
            `свойство charCode: ${evt.charCode}\n` +
            `символ нажатой клавиши: ${String.fromCharCode(evt.charCode)}\n`,
        );
      }

      function keyDown(evt) {
        alert(
          `Обработчик onkeydown:\n` +
            `свойство keyCode: ${evt.keyCode}\n` +
            `свойство which: ${evt.which}\n`,
        );
      }
    </script>
  </head>

  <body onkeypress="showKeyPress(event);" onkeydown="keyDown(event);">
    <p>Нажмите любую клавишу.</p>
  </body>
</html>

Спецификации

Specification
UI Events
# dom-uievent-which

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также