Свойство
MouseEvent.buttons
доступно только для чтения. Оно показывает, какие клавиши мыши (или другого устройства ввода) были нажаты при срабатывании события.Для каждой нажатой кнопки есть своё уникальное битовое значение (см. ниже раздел "Возвращаемые значения"). Если нажаты несколько кнопок одновременно, значения суммируются, создавая новое значение. Например, если нажата вторая кнопка (2 или 000010 в двоичном коде) вместе со средней (4 или 000100 в двоичном коде), значение будет равно 6 (2 + 4) или 000110 в двоичном коде.
Note: Не путайте это свойство со свойством MouseEvent.button
. Текущее свойство MouseEvent.buttons
показывает состояние нажатых кнопок при любом событии мыши, а свойство MouseEvent.button
указывает на события, произошедшие в результате нажатия/отпускания кнопок мыши.
Синтаксис
var buttonPressed = instanceOfMouseEvent.buttons
Возвращаемые значения
Целое число, представляющее одну или несколько кнопок. При одновременном нажатии нескольких кнопок значения объединяются (например, 3 = первая (1) + вторая (2) кнопки мыши):
0
: кнопки не нажаты или не инициализированы;1
: первая кнопка (обычно левая);2
: вторая кнопка (обычно правая);4
: дополнительная кнопка (обычно средняя или колёсико мыши);8
: четвёртая кнопка (как правило, кнопка "Назад" браузера);16
: пятая кнопка (как правило, кнопка "Вперёд" браузера).
Спецификации
Specification | Status | Comment |
---|---|---|
Document Object Model (DOM) Level 3 Events Specification Определение 'MouseEvent.buttons' в этой спецификации. |
Устаревшая | Initial definition |
Совместимость с браузерами
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.