1. 開発者向けのウェブ技術
  2. Web API
  3. HTMLDialogElement
  4. close()

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

HTMLDialogElement: close() メソッド

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2022年3月⁩.

close()HTMLDialogElement インターフェイスのメソッドで、このダイアログ (<dialog>) を閉じます。 引数としてオプションの文字列を渡すことができ、このダイアログの returnValue を更新します。

構文

js
close()
close(returnValue)

引数

returnValue 省略可

文字列で、このダイアログの HTMLDialogElement.returnValue を更新する値を表します。

返値

なし (undefined)。

次の例は単純なボタンですが、クリックするとフォームを含む <dialog>showModal() メソッドで開きます。 そこから X ボタンをクリックしてダイアログを閉じたり( HTMLDialogElement.close() メソッドで)、submit ボタンでフォームを送信したりすることができます。

html
<!-- フォームを含む単純なポップアップダイアログボックス -->
<dialog id="favDialog">
 <form method="dialog">
 <button id="close" aria-label="close" formnovalidate>X</button>
 <section>
 <p>
 <label for="favAnimal">好きな動物:</label>
 <select id="favAnimal" name="favAnimal">
 <option></option>
 <option>ブラインシュリンプ</option>
 <option>レッサーパンダ</option>
 <option>クモザル</option>
 </select>
 </p>
 </section>
 <menu>
 <button type="reset">リセット</button>
 <button type="submit">確認</button>
 </menu>
 </form>
</dialog>
<menu>
 <button id="updateDetails">詳細を更新</button>
</menu>
js
const updateButton = document.getElementById("updateDetails");
const closeButton = document.getElementById("close");
const dialog = document.getElementById("favDialog");
dialog.returnValue = "favAnimal";
function openCheck(dialog) {
 if (dialog.open) {
 console.log("Dialog open");
 } else {
 console.log("Dialog closed");
 }
}
// 更新ボタンでモーダルダイアログを開く
updateButton.addEventListener("click", () => {
 dialog.showModal();
 openCheck(dialog);
});
// フォームの閉じるボタンでダイアログボックスを閉じる
closeButton.addEventListener("click", () => {
 dialog.close("animalNotChosen");
 openCheck(dialog);
});

[X] ボタンが type="submit" であったなら、JavaScript を必要とせずにダイアログが閉じられたはずです。 フォームを送信すると、フォームのメソッドが dialog であれば、それが入った <dialog> を閉じるので、「閉じる」ボタンは必要ありません。

結果

仕様書

Specification
HTML
# dom-dialog-close-dev

ブラウザーの互換性

関連情報

  • このインターフェイスを実装している HTML 要素: <dialog>

Help improve MDN

Learn how to contribute

This page was last modified on by MDN contributors.

AltStyle によって変換されたページ (->オリジナル) /