Baseline 2025 *
Newly available
The popover
property of the HTMLElement
interface gets and sets an element's popover state via JavaScript ("auto"
, "hint"
, or "manual"
), and can be used for feature detection.
It reflects the value of the popover
global HTML attribute.
An enumerated value; possible values are:
"auto"
auto
popovers can be "light dismissed" â this means that you can hide the popover by clicking outside it or pressing the Esc key.
Usually, only one auto
popover can be shown at a time â showing a second popover when one is already shown will hide the first one. The exception to this rule is when you have nested auto popovers. See Nested popovers for more details.
"hint"
Experimental
hint
popovers do not close auto
popovers when they are displayed, but will close other hint popovers. They can be light dismissed and will respond to close requests.
Usually they are shown and hidden in response to non-click JavaScript events such as mouseover
/mouseout
and focus
/blur
. Clicking a button to open a hint
popover would cause an open auto
popover to light-dismiss.
"manual"
manual
popovers cannot be "light dismissed" and are not automatically closed. Popovers must explicitly be displayed and closed using declarative show/hide/toggle buttons or JavaScript. Multiple independent manual
popovers can be shown simultaneously.
You can use the popover
attribute to feature detect the Popover API:
function supportsPopover() {
return Object.hasOwn(HTMLElement.prototype, "popover");
}
Setting up a popover programmatically
const popover = document.getElementById("mypopover");
const toggleBtn = document.getElementById("toggleBtn");
const popoverSupported = supportsPopover();
if (popoverSupported) {
popover.popover = "auto";
toggleBtn.popoverTargetElement = popover;
toggleBtn.popoverTargetAction = "toggle";
} else {
console.log("Popover API not supported.");
}
Specifications Browser compatibility See also
popover
HTML global attributeRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4