HTMLDialogElement: showModal() ã¡ã½ãã
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2022å¹´3æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
showModal() 㯠HTMLDialogElement ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®ã¡ã½ããã§ããã¤ã¢ãã°ãã¢ã¼ãã«ã«ãè¦ããããã«ä»ã®ãã¤ã¢ãã°ã®æãä¸ã«è¡¨ç¤ºãã¾ãããã㯠æä¸ä½ã¬ã¤ã¤ã¼ ã®ä¸ã« ::backdrop æ¬ä¼¼è¦ç´ ã¨ã¨ãã«è¡¨ç¤ºããã¾ãããã¤ã¢ãã°ããã³ãã®åè¦ç´ ãé¤ãããã¤ã¢ãã°ã¨åãææ¸å
ã®è¦ç´ ã¯ä¸æ´»æ§ç¶æ
ã¨ãªãã¾ãï¼inert 屿§ãæå®ãããå ´åã¨åæ§ï¼ããããã¯ç¶æ
ã«ãªãã®ã¯å
嫿æ¸ã®ã¿ã§ãããã¤ã¢ãã°ã iframe å
ã§ã¬ã³ããªã³ã°ããã¦ããå ´åããã¼ã¸ã®æ®ãã®é¨åã¯æä½å¯è½ãªç¶æ
ãç¶æãã¾ãã
æ§æ
showModal()
弿°
ãªãã
è¿å¤
ãªã (undefined)ã
ä¾å¤
InvalidStateErrorDOMException-
ãã¤ã¢ãã°ãæ¢ã«éãã¦ãããã¢ã¼ãã«ã§ãªãå ´åï¼ã¤ã¾ãããã§ã«
HTMLDialogElement.show()ã§éããã¦ããå ´åï¼ã«çºçãã¾ãã
ä¾
>ã¢ã¼ãã«ãã¤ã¢ãã°ãéã
次ã®ä¾ã¯ãã¯ãªãã¯ããã¨ãã©ã¼ã ãå«ãã¢ã¼ãã« <dialog> ã HTMLDialogElement.showModal() 颿°ã§éããã¿ã³ã示ãã¦ãã¾ããéãã¦ããéãã¢ã¼ãã«ãã¤ã¢ãã°ã®ã³ã³ãã³ã以å¤ã¯ä¸æ´»æ§ã«ãªãã¾ãããããããCancel ãã¿ã³ãã¯ãªãã¯ãã¦ãã¤ã¢ãã°ãéãããï¼HTMLDialogElement.close() 颿°ã§ï¼ãsubmit ãã¿ã³ã«ãã£ã¦ãã©ã¼ã ãéä¿¡ããããããã¨ãã§ãã¾ãããã£ã³ã»ã«ãã¿ã³ã鏿ããã¨ãã¤ã¢ãã°ãéããããclose ã¤ãã³ãã使ããã¾ãããcancel ã¤ãã³ãã¯ä½æããã¾ããã
HTML
<!-- pop-up dialog box, containing a form -->
<dialog id="favDialog">
<form method="dialog">
<p>
<label for="favAnimal">Favorite animal:</label>
<select id="favAnimal" name="favAnimal">
<option></option>
<option>Brine shrimp</option>
<option>Red panda</option>
<option>Spider monkey</option>
</select>
</p>
<div>
<button id="cancel" type="reset">Cancel</button>
<button type="submit">Confirm</button>
</div>
</form>
</dialog>
<div>
<button id="updateDetails">Update details</button>
</div>
JavaScript
const updateButton = document.getElementById("updateDetails");
const cancelButton = document.getElementById("cancel");
const dialog = document.getElementById("favDialog");
dialog.returnValue = "favAnimal";
function openCheck(dialog) {
if (dialog.open) {
console.log("Dialog open");
} else {
console.log("Dialog closed");
}
}
// Update button opens a modal dialog
updateButton.addEventListener("click", () => {
dialog.showModal();
openCheck(dialog);
});
// Form cancel button closes the dialog box
cancelButton.addEventListener("click", () => {
dialog.close("animalNotChosen");
openCheck(dialog);
});
çµæ
仿§æ¸
| 仿§æ¸ |
|---|
| HTML > # dom-dialog-showmodal-dev > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
- ãã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ãå®è£
ãã¦ãã HTML è¦ç´ :
<dialog>