MouseEvent

Интерфейс MouseEvent представляет собой событие, которое происходит в результате взаимодействия пользователя с  манипулятором ( например, мышью). Наиболее частые из таких событий: click (en-US), dblclick (en-US), mouseup (en-US), mousedown (en-US).

MouseEvent выводится из метода UIEvent (en-US), который в свою очередь происходит из метода Event. Метод MouseEvent.initMouseEvent() (en-US) допустимо использовать для лучшей совместимости с предыдущими версиями, однако, для создания  MouseEvent рекомендуется использовать конструктор метода  MouseEvent() (en-US).

Несколько более конкретные события, производные от события mouseevent: WheelEvent (en-US) and DragEvent (en-US).

Конструктор

MouseEvent() (en-US)
Создаёт объект MouseEvent.

Свойства

Данный интерфейс наследует свойства от родителей UIEvent (en-US) и Event.

MouseEvent.altKey (en-US) Только для чтения
Возвращает значение true, если клавиша  alt была нажата во время движения мыши.
MouseEvent.button Только для чтения
Представляет код клавиши, нажатой в то время, когда произошло событие мыши.
MouseEvent.buttons Только для чтения

Отображает, какие клавиши были нажаты во время движения мыши.

MouseEvent.clientX Только для чтения
Отображение X координат курсора мыши в локальной системе координат (DOM контент).
MouseEvent.clientY Только для чтения
Отображение Y координат курсора мыши в локальной системе координат (DOM контент).
MouseEvent.ctrlKey Только для чтения
Возвращает значение true, если клавиша control была нажата во время движения мыши.
MouseEvent.metaKey (en-US) Только для чтения
Возвращает значение true, если клавиша meta была нажата во время движения мыши.
MouseEvent.movementX (en-US) Только для чтения
Отображает X координат указателя мыши относительно позиции последнего mousemove (en-US) события.
MouseEvent.movementY (en-US) Только для чтения
Отображает Y координат указателя мыши относительно позиции последнего mousemove (en-US) события.
MouseEvent.offsetX Только для чтения Это экспериментальное API, которое не должно использоваться в рабочем коде.
Отображает X координат указателя мыши относительно позиции границы отступа целевого узла.
MouseEvent.offsetY (en-US) Только для чтения Это экспериментальное API, которое не должно использоваться в рабочем коде.
Отображает Y координат указателя мыши относительно позиции границы отступа целевого узла.
MouseEvent.pageX Только для чтения Это экспериментальное API, которое не должно использоваться в рабочем коде.
Отображает X координат указателя мыши относительно всего документа.
MouseEvent.pageY (en-US) Только для чтения Это экспериментальное API, которое не должно использоваться в рабочем коде.
Отображает Y координат указателя мыши относительно всего документа.
MouseEvent.region (en-US) Только для чтения
Возвращает id затронутого событием региона. Если ни какой регион затронут не был, возвращает null.
MouseEvent.relatedTarget (en-US) Только для чтения
Второстепенная цель события, если таковая есть.
MouseEvent.screenX Только для чтения
Отображает X координат указателя мыши в пространстве экрана.
MouseEvent.screenY (en-US) Только для чтения
Отображает Y координат указателя мыши в пространстве экрана.
MouseEvent.shiftKey Только для чтения
Возвращает true если клавиша shift была нажата, когда произошло событие мыши.
MouseEvent.which Это API не было стандартизировано. Только для чтения
Возвращает код последней нажатой клавиши, когда произошло событие мыши.
MouseEvent.mozPressure Это API не было стандартизировано. Только для чтения
Отображает давление которое было осуществлено при нажатии. Значение будет между 0.0 (минимальное давление) и 1.0 (максимальное давление).
MouseEvent.mozInputSource (en-US) Это API не было стандартизировано. Только для чтения

The type of device that generated the event (one of the MOZ_SOURCE_* constants listed below). This lets you, for example, determine whether a mouse event was generated by an actual mouse or by a touch event (which might affect the degree of accuracy with which you interpret the coordinates associated with the event).

MouseEvent.webkitForce (en-US) Это API не было стандартизировано. Только для чтения
Отображает количество приложенного давления при клике.
MouseEvent.x (en-US) Это экспериментальное API, которое не должно использоваться в рабочем коде. Только для чтения
Alias для MouseEvent.clientX.
MouseEvent.y (en-US) Это экспериментальное API, которое не должно использоваться в рабочем коде. Только для чтения
Alias для MouseEvent.clientY

Константы

MouseEvent.WEBKIT_FORCE_AT_MOUSE_DOWN (en-US) Это API не было стандартизировано. Только для чтения
Минимальная необходимая сила для обычного клика
MouseEvent.WEBKIT_FORCE_AT_FORCE_MOUSE_DOWN (en-US) Это API не было стандартизировано. Только для чтения
Минимальная необходимая сила для усиленного клика

Методы

Данный интерфейс наследует свойства от родителей, UIEvent (en-US) and Event.

MouseEvent.getModifierState() (en-US)
Returns the current state of the specified modifier key. See the KeyboardEvent.getModifierState (en-US)() for details.
MouseEvent.initMouseEvent() (en-US) Это устаревшее API больше не должно использоваться, но оно по-прежнему может работать.
Initializes the value of a MouseEvent created. If the event has already being dispatched, this method does nothing.

Примеры

Данный пример демонстрирует симуляцию нажатия левой клавиши мыши (событие мыши генерируется программно) по чекбоксу используя методы DOM.

function simulateClick() {
  var evt = new MouseEvent("click", {
    bubbles: true,
    cancelable: true,
    view: window
  });
  var cb = document.getElementById("checkbox"); //element to click on
  var canceled = !cb.dispatchEvent(evt);
  if(canceled) {
    // A handler called preventDefault
    alert("canceled");
  } else {
    // None of the handlers called preventDefault
    alert("not canceled");
  }
}
document.getElementById("button").addEventListener('click', simulateClick);
<p><label><input type="checkbox" id="checkbox"> Checked</label>
<p><button id="button">Click me</button>

Нажмите на кнопку, чтобы посмотреть, как работает пример.

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

Спецификация Статус Комментарий
HTML Living Standard
Определение 'MouseEvent.region' в этой спецификации.
Живой стандарт From Document Object Model (DOM) Level 3 Events Specification, added the region property.
Pointer Lock
Определение 'MouseEvent' в этой спецификации.
Кандидат в рекомендации From Document Object Model (DOM) Level 3 Events Specification, added movementX and movementY properties.
CSS Object Model (CSSOM) View Module
Определение 'MouseEvent' в этой спецификации.
Рабочий черновик From Document Object Model (DOM) Level 3 Events Specification, added offsetX and offsetY, pageX and pageY, x, and y properties.
Document Object Model (DOM) Level 3 Events Specification
Определение 'MouseEvent' в этой спецификации.
Устаревшая From Document Object Model (DOM) Level 2 Events Specification, added the MouseEvent() constructor, the getModifierState() method and the buttons property.
Document Object Model (DOM) Level 2 Events Specification
Определение 'MouseEvent' в этой спецификации.
Устаревшая 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! (en-US)

Возможность Firefox (Gecko) Edge Chrome Internet Explorer Opera Safari
Базовая поддержка (Да) (Да) (Да) (Да) (Да) (Да)
movementX (en-US)
movementY (en-US)
(Да) moz (en-US) (Да) (Да) ? (Да) ?
buttons (Да) (Да) 43 ? ? Нет
which 1.0 (Да) 1.0 9.0 5.0 1.0
getModifierState() (en-US) 15 (15) (Да) (Да) (Да) (Да) (Да)
mozPressure and mozInputSource (en-US) Это API не было стандартизировано. 4.0 (2) ? Нет Нет Нет Нет
MouseEvent() (en-US) 11 (11) ? (Да) 9.0 (Да) ?
MouseEvent.region (en-US) 32 (32) ? ? ? ? ?
MouseEvent.offsetX, and MouseEvent.offsetY (en-US) Это экспериментальное API, которое не должно использоваться в рабочем коде. 40 (40) 9 ? ? ? ?
Возможность Firefox Mobile (Gecko) Android IE Mobile Opera Mobile Safari Mobile
Базовая поддержка ? ? ? ? ?

Посмотрите также