MouseEvent: initMouseEvent() Methode

Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, kann sie bereits aus den relevanten Webstandards entfernt worden sein, befindet sich im Prozess der Entfernung oder wird nur aus Kompatibilitätsgründen beibehalten. Vermeiden Sie die Verwendung und aktualisieren Sie gegebenenfalls bestehenden Code; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu treffen. Beachten Sie, dass diese Funktion jederzeit nicht mehr funktionieren kann.

Die MouseEvent.initMouseEvent() Methode initialisiert den Wert eines Mausereignisses, nachdem es erstellt wurde (normalerweise mit der Document.createEvent() Methode).

Warnung: Verwenden Sie diese Methode nicht mehr, da sie veraltet ist.

Stattdessen sollten Sie spezifische Ereignis-Konstruktoren wie MouseEvent() verwenden. Die Seite über das Erstellen und Auslösen von Ereignissen gibt weitere Informationen über die Nutzung dieser Möglichkeit.

Ereignisse, die auf diese Weise initialisiert werden, müssen mit der Document.createEvent() Methode erstellt worden sein. Diese Methode muss aufgerufen werden, um das Ereignis festzulegen, bevor es mit EventTarget.dispatchEvent() ausgelöst wird.

Syntax

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

Parameter

type

der String, mit dem der type des Ereignisses festgelegt wird. Mögliche Typen für Mausereignisse sind: click, mousedown, mouseup, mouseover, mousemove, mouseout.

canBubble

ob das Ereignis aufsteigen kann oder nicht. Legt den Wert von Event.bubbles fest.

cancelable

ob die Standardaktion des Ereignisses verhindert werden kann oder nicht. Legt den Wert von Event.cancelable fest.

view

die AbstractView des Ereignisses. Hier sollten Sie das window Objekt übergeben. Legt den Wert von UIEvent.view fest.

detail

die Anzahl der Mausklicks des Ereignisses. Legt den Wert von UIEvent.detail fest.

screenX

die Bildschirm-x-Koordinate des Ereignisses. Legt den Wert von MouseEvent.screenX fest.

screenY

die Bildschirm-y-Koordinate des Ereignisses. Legt den Wert von MouseEvent.screenY fest.

clientX

die client x-Koordinate des Ereignisses. Legt den Wert von MouseEvent.clientX fest.

clientY

die client y-Koordinate des Ereignisses. Legt den Wert von MouseEvent.clientY fest.

ctrlKey

ob die Strg-Taste während des Ereignisses gedrückt wurde oder nicht. Legt den Wert von MouseEvent.ctrlKey fest.

altKey

ob die Alt-Taste während des Ereignisses gedrückt wurde oder nicht. Legt den Wert von MouseEvent.altKey fest.

shiftKey

ob die Shift-Taste während des Ereignisses gedrückt wurde oder nicht. Legt den Wert von MouseEvent.shiftKey fest.

metaKey

ob die Meta-Taste während des Ereignisses gedrückt wurde oder nicht. Legt den Wert von MouseEvent.metaKey fest.

button

der Maus-button des Ereignisses.

relatedTarget

das verwandte EventTarget des Ereignisses. Nur bei einigen Ereignistypen verwendet (z.B. mouseover und mouseout). In anderen Fällen übergeben Sie null.

Rückgabewert

Keiner (undefined).

Beispiele

HTML

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

JavaScript

js
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();

Ergebnis

Spezifikationen

Specification
UI Events
# dom-mouseevent-initmouseevent

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch

  • Der MouseEvent() Konstruktor, die moderne Standardmethode zur Erstellung eines MouseEvent
  • Event.initEvent() ist eine einfachere Methode, die einen ähnlichen Zweck erfüllt. Sie ist ebenfalls veraltet und sollte nicht mehr verwendet werden.