demo · v140

ToggleEvent.source

Three different buttons toggle the same popover. With v140 the toggle event includes a source property pointing to the triggering element — the readout below shows which button fired each toggle without any bookkeeping on your side.

A popover. Close me by clicking elsewhere or pressing Esc.
Latest toggle: —

Event log:

no events yet

popover.addEventListener("toggle", (e) => {
  console.log(e.newState, "triggered by", e.source);
  // v140: e.source is the <button> that fired the toggle
});

see also