此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

ToggleEvent

基线 2023 *
最近可用

自 November 2023 起,此特性已在最新浏览器中得到支持。但在较旧的设备或浏览器中可能无法运行。

* 此特性的某些部分的支持程度可能有所不同。

ToggleEvent 接口表示当元素的状态发生改变时通知用户的事件。

它为 HTMLElementbeforetoggletoggle 事件提供事件对象,这两个事件会在弹出框元素在显示与隐藏状态间切换时(分别在切换前与切换后)触发。

Event ToggleEvent

构造函数

ToggleEvent()

创建一个 ToggleEvent 对象。

实例属性

此接口继承其父接口 Event 的属性。

ToggleEvent.newState 只读

一个字符串(取值为 "open""closed"),表示元素转换后的状态。

ToggleEvent.oldState 只读

一个字符串(取值为 "open""closed"),表示元素转换前的状态。

示例

基础示例

js
const popover = document.getElementById("mypopover");

// ...

popover.addEventListener("beforetoggle", (event) => {
  if (event.newState === "open") {
    console.log("弹出窗口正在显示");
  } else {
    console.log("弹出窗口正在隐藏");
  }
});

规范

规范
HTML
# toggleevent

浏览器兼容性

参见