UIEvent: свойство which

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

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

Значение

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

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

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

Значение для 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

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