Back to Content

CommandEvent: source property

files/en-us/web/api/commandevent/source/index.md

latest983 B
Original Source

{{APIRef("Invoker Commands API")}}

The source read-only property of the {{domxref("CommandEvent")}} interface returns an {{domxref("EventTarget")}} representing the control that invoked the given command.

Value

An {{domxref("EventTarget")}} object. Usually an {{domxref("HTMLButtonElement")}}.

Examples

In the following simple example we've set up an event listener to add a temporary class to the button element upon a CommandEvent:

js
document.body.addEventListener(
  "command",
  (event) => {
    const theButton = event.source;

    theButton.classList.add("just-pressed");

    setTimeout(() => {
      theButton.classList.remove("just-pressed");
    }, 1000);
  },
  { capture: true },
);

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also

  • {{domxref("Invoker Commands API", "Invoker Commands API", "", "nocode")}}
  • {{domxref("HTMLButtonElement.command")}}
  • {{domxref("HTMLButtonElement.commandForElement")}}