Spec-Zone.ru › Web APIs

MouseEvent: метод initMouseEvent()

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

Метод MouseEvent.initMouseEvent() инициализирует значение события мыши после его создания (обычно с помощью метода Document.createEvent()).

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

Вместо этого используйте специфичные конструкторы событий, такие как MouseEvent(). На странице Создание и срабатывание событий вы найдёте больше информации о способах их использования.

События, инициализированные таким способом, должны быть созданы с помощью метода Document.createEvent(). Этот метод должен быть вызван для установки события перед его отправкой с помощью EventTarget.dispatchEvent().

Синтаксис

initMouseEvent(type, canBubble, cancelable, view,
                     detail, screenX, screenY, clientX, clientY,
                     ctrlKey, altKey, shiftKey, metaKey,
                     button, relatedTarget)

Параметры

type

строка для установки типа события type. Возможные типы событий мыши включают: click, mousedown, mouseup, mouseover, mousemove, mouseout.

canBubble

указывает, может ли событие распространяться вверх по DOM. Устанавливает значение Event.bubbles.

cancelable

указывает, можно ли предотвратить стандартное действие события. Устанавливает значение Event.cancelable.

view

Абстрактный объект представления события. Здесь нужно передать объект window. Устанавливает значение UIEvent.view.

detail

количество нажатий мыши. Устанавливает значение UIEvent.detail.

screenX

координата x события на экране. Устанавливает значение MouseEvent.screenX.

screenY

координата y события на экране. Устанавливает значение MouseEvent.screenY.

clientX

координата x события относительно клиентской области. Устанавливает значение MouseEvent.clientX.

clientY

координата y события относительно клиентской области. Устанавливает значение MouseEvent.clientY.

ctrlKey

указывает, была ли нажата клавиша control во время события. Устанавливает значение MouseEvent.ctrlKey.

altKey

указывает, была ли нажата клавиша alt во время события. Устанавливает значение MouseEvent.altKey.

shiftKey

указывает, была ли нажата клавиша shift во время события. Устанавливает значение MouseEvent.shiftKey.

metaKey

указывает, была ли нажата клавиша meta во время события. Устанавливает значение MouseEvent.metaKey.

button

кнопка мыши button.

relatedTarget

связанный элемент события. Используется только с некоторыми типами событий (например, mouseover и mouseout). В других случаях передайте null.

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

None (undefined).

Примеры

HTML

<div style="background:red; width:180px; padding:10px;">
  <div id="out"></div>
  <input type="text" />
</div>

JavaScript

document.body.onclick = (event) => {
  const elementTag = event.target.tagName.toLowerCase();
  document.getElementById("out").textContent = elementTag;
};

const simulateClick = () => {
  const event = document.createEvent("MouseEvents");
  event.initMouseEvent(
    "click",
    true,
    true,
    window,
    0,
    0,
    0,
    80,
    20,
    false,
    false,
    false,
    false,
    0,
    null,
  );
  document.body.dispatchEvent(event);
};

simulateClick();

Результат

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

Спецификация
UI Events
# dom-mouseevent-initmouseevent

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

Десктоп Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
initMouseEvent 1 12 1.5 ≤12.1 1 18 4 ≤12.1 1 1.0 ≤37

См. также

  • MouseEvent() конструктор, современный стандартный способ создания события MouseEvent
  • Event.initEvent() - более простой метод, выполняющий аналогичную задачу. Он также устарел и больше не должен использоваться.

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/initMouseEvent

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API