HTMLDialogElement: phương thức close()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.
Phương thức close() của giao diện HTMLDialogElement đóng <dialog>.
Có thể truyền một chuỗi tùy chọn làm đối số, cập nhật returnValue của hộp thoại.
Sự kiện close được kích hoạt sau khi hộp thoại đã đóng.
Không giống như khi gọi HTMLDialogElement.requestClose(), thao tác đóng không thể bị hủy.
Cú pháp
close()
close(returnValue)
Tham số
returnValueOptional-
Một chuỗi thay thế giá trị hiện tại của
HTMLDialogElement.returnValue.
Giá trị trả về
Không có (undefined).
Ví dụ
>Đóng một hộp thoại
Ví dụ sau đây hiển thị một nút bấm, khi được nhấp vào, sẽ mở một <dialog> thông qua phương thức showModal().
Từ đó bạn có thể nhấp vào nút Đóng để đóng hộp thoại (thông qua phương thức close()).
Nút Đóng đóng hộp thoại mà không có returnValue, trong khi nút Đóng kèm giá trị trả về đóng hộp thoại với một returnValue.
HTML
<dialog id="dialog">
<button type="button" id="close">Đóng</button>
<button type="button" id="close-w-value">Đóng kèm giá trị trả về</button>
</dialog>
<button id="open">Mở hộp thoại</button>
JavaScript
const dialog = document.getElementById("dialog");
const openButton = document.getElementById("open");
const closeButton = document.getElementById("close");
const closeWithValueButton = document.getElementById("close-w-value");
// Nút mở mở một hộp thoại modal
openButton.addEventListener("click", () => {
// Đặt lại giá trị trả về
dialog.returnValue = "";
// Hiển thị hộp thoại
dialog.showModal();
});
// Nút đóng đóng hộp thoại
closeButton.addEventListener("click", () => {
dialog.close();
});
// Nút đóng đóng hộp thoại với giá trị trả về
closeWithValueButton.addEventListener("click", () => {
dialog.close(`Đóng lúc ${new Date().toLocaleTimeString()}`);
});
// Nút đóng biểu mẫu đóng hộp thoại
dialog.addEventListener("close", () => {
log(`Hộp thoại đã đóng. Giá trị trả về: "${dialog.returnValue}"`);
});
Note:
Bạn còn có thể tự động đóng một <dialog> bằng cách gửi một phần tử <form> với thuộc tính method="dialog".
Kết quả
Đặc tả kỹ thuật
| Specification |
|---|
| HTML> # dom-dialog-close-dev> |
Tương thích trình duyệt
Xem thêm
- Phần tử HTML
<dialog> - Sự kiện
close HTMLDialogElement.requestClose()