HTMLElementï¼toggle äºä»¶
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since â¨2020å¹´1æâ©.
* Some parts of this feature may have varying levels of support.
HTMLElement æ¥å£ç toggle äºä»¶ä¼å¨å¼¹åºæ¡å
ç´ ã<dialog> å
ç´ æ <details> å
ç´ ååæ¾ç¤ºæéèå触åã
- 妿å
ç´ ä»éèè¿æ¸¡å°æ¾ç¤ºï¼å
event.oldState屿§ä¼è¢«è®¾ç½®ä¸ºclosedèevent.newState屿§ä¼è¢«è®¾ç½®ä¸ºopenã - 妿å
ç´ ä»æ¾ç¤ºè¿æ¸¡å°éèï¼å
event.oldState伿¯openèevent.newState伿¯closedã
æ¤äºä»¶ä¸å¯åæ¶ã
è¯æ³
å¨ç±»ä¼¼ addEventListener() è¿æ ·çæ¹æ³ä¸ä½¿ç¨äºä»¶åç§°ï¼æè®¾ç½®äºä»¶å¤çå¨å±æ§ã
addEventListener("toggle", (event) => {});
ontoggle = (event) => {};
äºä»¶ç±»å
ToggleEventãç»§æ¿èª Eventã
示ä¾
以ä¸ç¤ºä¾ä»£ç æ¼ç¤ºäºå¦ä½ä½¿ç¨å¼¹åºæ¡ç toggle äºä»¶ãç¸åç代ç ä¹å¯ä»¥ç¸åçæ¹å¼ç¨äº <dialog> æ <details> å
ç´ ã
åºç¡ç¤ºä¾
æ¤ç¤ºä¾æ¾ç¤ºäºå¦ä½çå¬ toggle äºä»¶å¹¶è®°å½ç»æã
HTML
<button popovertarget="mypopover">æå¼/å
³éå¼¹åºæ¡</button>
<div id="mypopover" popover>å¼¹åºæ¡çå
容</div>
JavaScript
以ä¸ä»£ç 为 toggle äºä»¶æ·»å äºä»¶å¤çå¨ï¼å¹¶è®°å½å
¶ç¶æã
const popover = document.getElementById("mypopover");
popover.addEventListener("toggle", (event) => {
if (event.newState === "open") {
console.log("å·²æ¾ç¤ºå¼¹åºæ¡");
} else {
console.log("å·²éèå¼¹åºæ¡");
}
});
ç»æ
å ³äº toggle äºä»¶åå¹¶ç夿³¨
妿å¨äºä»¶å¾ªç¯å¼å§ä¸ä¸ªå¾ªç¯ä¹å触åäºå¤ä¸ª toggle äºä»¶ï¼ååªä¼è§¦å䏿¬¡äºä»¶ãè¿è¢«ç§°ä¸ºâäºä»¶åå¹¶âã
ä¾å¦ï¼
popover.addEventListener("toggle", () => {
//â¦â¦
});
popover.showPopover();
popover.hidePopover();
// `toggle` ä»
触å䏿¬¡
å ¶ä»ç¤ºä¾
HTMLDialogElementä¸çæå¼æ¨¡ææ¡ç¤ºä¾
è§è
| Specification |
|---|
| HTML > # event-toggle > |
æµè§å¨å ¼å®¹æ§
åè§
popoverHTML å ¨å±å±æ§- å¼¹åºæ¡ API
- ç¸å
³äºä»¶ï¼
beforetoggle