From 0ccebc7eb352eda4d26d0b876fea36f24f482eec Mon Sep 17 00:00:00 2001 From: MDN Date: Sat, 17 Apr 2021 00:11:36 +0000 Subject: [CRON] sync translated content --- .../creating_and_triggering_events/index.html | 135 --------------------- 1 file changed, 135 deletions(-) delete mode 100644 files/de/web/guide/events/creating_and_triggering_events/index.html (limited to 'files/de/web/guide/events/creating_and_triggering_events') diff --git a/files/de/web/guide/events/creating_and_triggering_events/index.html b/files/de/web/guide/events/creating_and_triggering_events/index.html deleted file mode 100644 index 06a765d3c0..0000000000 --- a/files/de/web/guide/events/creating_and_triggering_events/index.html +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: Erstellen und Auslösen von Ereignissen -slug: Web/Guide/Events/Creating_and_triggering_events -translation_of: Web/Guide/Events/Creating_and_triggering_events ---- -

Dieser Artikel zeigt, wie man DOM-Ereignisse erstellt und versendet. Solche Ereignisse werden allgemein als synthetische Ereignisse bezeichnet, im Gegensatz zu den Ereignissen, die vom Browser selbst ausgelöst werden.

- -

Erstellen von benutzerdefinierten Ereignissen

- -

Ereignisse können mit dem Event-Konstruktor wie folgt erstellt werden:

- -
var event = new Event('build');
-
-// Listen for the event.
-elem.addEventListener('build', function (e) { /* ... */ }, false);
-
-// Dispatch the event.
-elem.dispatchEvent(event);
- -

Das obige Codebeispiel verwendet die Methode EventTarget.dispatchEvent().

- -

Dieser Konstruktor wird in den meisten modernen Browsern unterstützt (mit Ausnahme des Internet Explorers). Für einen ausführlicheren Ansatz (der mit dem Internet Explorer funktioniert) siehe den altmodischen Weg unten.

- -

Hinzufügen von benutzerdefinierten Daten - CustomEvent()

- -

Um weitere Daten zum Ereignisobjekt hinzuzufügen, existiert die CustomEvent-Schnittstelle und die Detaileigenschaft kann zur Übergabe von benutzerdefinierten Daten verwendet werden.
- Beispielsweise könnte das Ereignis wie folgt angelegt werden:

- -
var event = new CustomEvent('build', { detail: elem.dataset.time });
- -

Auf diese Weise können Sie dann auf die zusätzlichen Daten im Event-Listener zugreifen:

- -
function eventHandler(e) {
-  console.log('The time is: ' + e.detail);
-}
-
- -

Auf die altmodische Art und Weise

- -

Der ältere Ansatz zur Erstellung von Ereignissen verwendet APIs, die von Java inspiriert sind. Im Folgenden ist ein Beispiel dargestellt:

- -
// Create the event.
-var event = document.createEvent('Event');
-
-// Define that the event name is 'build'.
-event.initEvent('build', true, true);
-
-// Listen for the event.
-elem.addEventListener('build', function (e) {
-  // e.target matches elem
-}, false);
-
-// target can be any Element or other EventTarget.
-elem.dispatchEvent(event);
-
-
- -

Ereignisbubbling

- -

Es ist oft wünschenswert, ein Ereignis aus einem untergeordneten Element auszulösen und von einem Vorfahren abfangen zu lassen; optional mit Daten:

- -
<form>
-  <textarea></textarea>
-</form>
-
- -
const form = document.querySelector('form');
-const textarea = document.querySelector('textarea');
-
-// Create a new event, allow bubbling, and provide any data you want to pass to the "details" property
-const eventAwesome = new CustomEvent('awesome', {
-  bubbles: true,
-  detail: { text: () => textarea.value }
-});
-
-// The form element listens for the custom "awesome" event and then consoles the output of the passed text() method
-form.addEventListener('awesome', e => console.log(e.detail.text()));
-
-// As the user types, the textarea inside the form dispatches/triggers the event to fire, and uses itself as the starting point
-textarea.addEventListener('input', e => e.target.dispatchEvent(eventAwesome));
-
- -

Dynamisches Erstellen und Versenden von Ereignissen

- -

Elemente können auf Ereignisse warten, die noch nicht erstellt wurden:

- -
<form>
-  <textarea></textarea>
-</form>
-
- -
const form = document.querySelector('form');
-const textarea = document.querySelector('textarea');
-
-form.addEventListener('awesome', e => console.log(e.detail.text()));
-
-textarea.addEventListener('input', function() {
-  // Create and dispatch/trigger an event on the fly
-  // Note: Optionally, we've also leveraged the "function expression" (instead of the "arrow function expression") so "this" will represent the element
-  this.dispatchEvent(new CustomEvent('awesome', { bubbles: true, detail: { text: () => textarea.value } }))
-});
-
- -

Auslösen von eingebauten Ereignissen

- -

Dieses Beispiel demonstriert die Simulation eines Klicks (d.h. das programmgesteuerte Erzeugen eines Klickereignisses) auf einem Kontrollkästchen mit Hilfe von DOM-Methoden.

- -

Sehen Sie sich das Beispiel in Aktion an.

- -
function simulateClick() {
-  var event = new MouseEvent('click', {
-    view: window,
-    bubbles: true,
-    cancelable: true
-  });
-  var cb = document.getElementById('checkbox');
-  var cancelled = !cb.dispatchEvent(event);
-  if (cancelled) {
-    // A handler called preventDefault.
-    alert("cancelled");
-  } else {
-    // None of the handlers called preventDefault.
-    alert("not cancelled");
-  }
-}
- -

Siehe auch

- - -- cgit v1.2.3-54-g00ecf