MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

MouseEvent.button доступное только для чтения свойство возвращает значение, соответствующее нажатой кнопки мыши, которое инициировало событие.

Это свойство предоставляет информацию только о том, какая кнопка или несколько кнопок были нажаты или отпущены для инициации события, и не имеет отношения к таким событиям как  mouseentermouseleavemouseovermouseout или mousemove.

Пользователь может изменять конфигурацию кнопок своей мыши таким образом, что значение ноль будет получено при нажатии кнопки, не являющейся физически крайней левой кнопкой мыши, тем не менее, событие будет вести себя так, как будто левая кнопка была нажата в стандартной раскладкой кнопок.

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

Синтаксис

var buttonPressed = instanceOfMouseEvent.button

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

Число, соответстующее нажатой кнопке:

  • 0:  Нажата основная кнопка. Левая кнопка мыши или переназначенная пользователем другая кнопка
  • 1:  Нажата вспомогательная кнопка. Колёсико или средняя кнопка мыши, если она есть
  • 2:  Нажата вторичная кнопка. Правая кнопка мыши
  • 3:  Нажата четвёртая кнопка мыши. Обычно кнопка браузера Назад
  • 4:  Нажата пятая кнопка мыши. Обычно кнопка браузера Вперёд

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

Пример

<script>
var whichButton = function (e) {
    // Handle different event models
    var e = e || window.event;
    var btnCode;

    if ('object' === typeof e) {
        btnCode = e.button;

        switch (btnCode) {
            case 0:
                console.log('Нажата левая кнопка.');
            break;

            case 1:
                console.log('Нажата средняя кнопка или колёсико.');
            break;

            case 2:
                console.log('Нажата правая кнопка.');
            break;

            default:
                console.log('Неопределённое событие: ' + btnCode);
        }
    }
}
</script>

<button onmouseup="whichButton(event);" oncontextmenu="event.preventDefault();">Нажмите кнопку мыши...</button>

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

Specification Status Comment
Document Object Model (DOM) Level 3 Events Specification
Определение 'MouseEvent.button' в этой спецификации.
Рабочий черновик Compared to Document Object Model (DOM) Level 2 Events Specification, the return value can be negative.
Document Object Model (DOM) Level 2 Events Specification
Определение 'MouseEvent.button' в этой спецификации.
Рекомендация Initial definition.

Поддерживается браузерами

Feature Edge Firefox (Gecko) Chrome Internet Explorer Opera Safari
Basic support (Да) 1.0 (1.7 или ранее) 1.0 9.0 [1] (Да) 3.0.4
Feature Edge Firefox Mobile (Gecko) Android IE Mobile Opera Mobile Safari Mobile
Basic support (Да) ? ? ? ? ?

[1] Это соглашение не поддерживается браузерами Internet Explorer до версии 9: см. QuirksMode for details.

Смотри также

Метки документа и участники

 Внесли вклад в эту страницу: McBurns
 Обновлялась последний раз: McBurns,