HTMLElement: popover 属性
基线 2025 *
新推出
HTMLElement 接口的 popover 属性通过 JavaScript 获取和设置元素的 popover 状态("auto"、"hint" 或 "manual"),也可用于特性检测。
它反映了 popover 全局 HTML 属性的值。
值
这是一个枚举值;可能的值有:
"auto"-
autopopover 可以被“轻微关闭”(light dismissed)——这意味着你可以通过点击 popover 外部或按 Esc 键来隐藏 popover。通常,一次只能显示一个
autopopover——当一个 popover 已经显示时,显示第二个 popover 会隐藏第一个。该规则的例外情况是当你有嵌套的 auto popover 时。有关更多详细信息,请参阅 嵌套 popover。 "hint"实验性-
hintpopover 在显示时不会关闭autopopover,但会关闭其他 hint popover。它们可以被轻微关闭,并会响应关闭请求。它们通常在响应非点击 JavaScript 事件时显示和隐藏,例如
mouseover/mouseout和focus/blur。点击一个按钮打开hintpopover 会导致一个已打开的autopopover 被轻微关闭。 "manual"-
manualpopover 不能被“轻微关闭”,也不会自动关闭。Popover必须通过声明式显示/隐藏/切换按钮或 JavaScript 来显式显示和关闭。可以同时显示多个独立的manualpopover。
示例
特性检测
你可以使用 popover 属性来检测 Popover API。
js
function supportsPopover() {
return Object.hasOwn(HTMLElement.prototype, "popover");
}
以编程方式设置 popover
js
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.");
}
规范
| 规范 |
|---|
| HTML # dom-popover |
浏览器兼容性
加载中…
另见
popoverHTML 全局属性- Popover API