Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

CommandEvent

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Das CommandEvent-Interface repräsentiert ein Ereignis, das den Benutzer benachrichtigt, wenn ein button-Element mit gültigen commandForElement- und command-Attributen ein interaktives Element aufzurufen beabsichtigt.

Dies ist das Ereignisobjekt für das HTMLElement-command-Ereignis, das eine Aktion von einem Invoker Control darstellt, wenn es aufgerufen wird (zum Beispiel, wenn es angeklickt oder gedrückt wird).

Event CommandEvent

Konstruktor

CommandEvent()

Erstellt ein CommandEvent-Objekt.

Instanzeigenschaften

Dieses Interface erbt Eigenschaften von seinem Elternteil, Event.

CommandEvent.source Schreibgeschützt

Ein HTMLButtonElement, das den Button repräsentiert, der diese Ausführung verursacht hat.

CommandEvent.command Schreibgeschützt

Ein String, der den command-Wert des Quell-Buttons darstellt.

Beispiele

Einfaches Beispiel

html
<button commandfor="mypopover" command="show-popover">Show popover</button>

<div popover id="mypopover" role="[declare appropriate ARIA role]">
  <!-- popover content here -->
  <button commandfor="mypopover" command="hide-popover">Hide popover</button>
</div>
js
const popover = document.getElementById("mypopover");

// …

popover.addEventListener("command", (event) => {
  if (event.command === "show-popover") {
    console.log("Popover is about to be shown");
  }
});

Verwendung benutzerdefinierter Werte für Befehle

In diesem Beispiel wurden drei Buttons mit commands mit benutzerdefinierten Werten erstellt.

html
<div class="controls">
  <button commandfor="the-image" command="--rotate-left">Rotate Left</button>
  <button commandfor="the-image" command="--reset">Reset</button>
  <button commandfor="the-image" command="--rotate-right">Rotate Right</button>
</div>

<img
  id="the-image"
  src="/shared-assets/images/examples/dino.svg"
  alt="dinosaur head rotated 0 degrees" />

Ein Event-Listener ist an das Bild mit dem command-Ereignis angehängt. Wenn einer der Buttons angeklickt wird, führt der Listener Code basierend auf dem benutzerdefinierten command-Wert aus, der dem Button zugewiesen wurde, rotiert das Bild und aktualisiert auch den alt-Text, um den neuen Winkel des Bildes anzugeben.

js
const image = document.getElementById("the-image");

image.addEventListener("command", (event) => {
  let rotate = parseInt(event.target.style.rotate || "0", 10);
  if (event.command === "--reset") {
    rotate = 0;
    event.target.style.rotate = `${rotate}deg`;
  } else if (event.command === "--rotate-left") {
    rotate = rotate === -270 ? 0 : rotate - 90;
    event.target.style.rotate = `${rotate}deg`;
  } else if (event.command === "--rotate-right") {
    rotate = rotate === 270 ? 0 : rotate + 90;
    event.target.style.rotate = `${rotate}deg`;
  }
  event.target.alt = `dinosaur head rotated ${rotate} degrees`;
});

Spezifikationen

Specification
HTML
# commandevent

Browser-Kompatibilität

Siehe auch