СвойствоMouseEvent.buttonsдоступно только для чтения. Оно показывает, какие клавиши мыши (или другого устройства ввода) были нажаты при срабатывании события.
Для каждой нажатой кнопки есть своё уникальное битовое значение (см. ниже раздел "Возвращаемые значения"). Если нажаты несколько кнопок одновременно, значения суммируются, создавая новое значение. Например, если нажата вторая кнопка (2 или 000010 в двоичном коде) вместе со средней (4 или 000100 в двоичном коде), значение будет равно 6 (2 + 4) или 000110 в двоичном коде.

Note: Не путайте это свойство со свойством MouseEvent.button. Текущее свойство MouseEvent.buttons показывает состояние нажатых кнопок при любом событии мыши, а свойство MouseEvent.button указывает на события, произошедшие в результате нажатия/отпускания кнопок мыши.


var buttonPressed = instanceOfMouseEvent.buttons

Возвращаемые значения

Целое число, представляющее одну или несколько кнопок. При одновременном нажатии нескольких кнопок значения объединяются (например, 3 = первая (1) + вторая (2) кнопки мыши):

  • : кнопки не нажаты или не инициализированы;
  • : первая кнопка (обычно левая);
  • : вторая кнопка (обычно правая);
  • : дополнительная кнопка (обычно средняя или колёсико мыши);
  • : четвёртая кнопка (как правило, кнопка "Назад" браузера);
  • 16 : пятая кнопка (как правило, кнопка "Вперёд" браузера).


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

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support 43 (Да) (Да)[1] 9 (Да) Нет
Feature Android Webview Chrome for Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support Нет Нет (Да) ? ? ? ?

[1] Gecko supports the buttons attribute on Windows, Linux (GTK), and Mac OS with the following restrictions:

  • Utilities allow customization of button actions so that primary may not the the left button on the device, secondary may not be the right button, and so on. The middle (wheel) button, 4th button and 5th button might not be assigned a value, even when they are pressed.
  • Single button devices may emulate additional buttons with combinations of button and keyboard presses
  • Touch devices may emulate buttons with configurable gestures (e.g. single touch for primary, two-finger touch for secondary, etc.)
  • On Linux (GTK), the 4th button and the 5th button are not supported. In addition, a mouseup event always has the releasing button information in this attribute value.
  • On Mac OS X 10.5, the buttons attribute always returns 0 because there is no platform API for implementing this feature.

Смотри также