htmx:confirm
Срабатывает перед обработкой hx-confirm
Событие htmx:confirm срабатывает только тогда, когда у элемента есть атрибут hx-confirm. Оно позволяет заменить диалог window.confirm() по умолчанию на пользовательский интерфейс подтверждения.
Когда срабатывает
После создания контекста запроса и перед отправкой запроса, если у элемента, инициирующего событие, задано hx-confirm.
Сведения о событии
-
ctx— объект контекста запроса -
issueRequest— функция обратного вызова, которую нужно вызвать, чтобы продолжить выполнение запроса -
dropRequest— функция обратного вызова, которую нужно вызвать, чтобы отменить запрос
Если вы вызываете evt.preventDefault(), вы должны вызвать либо issueRequest(), либо dropRequest(). Если не вызвать ни одну из них, запрос останется в ожидании навсегда.
Пример
htmx.on('htmx:confirm', (evt) => {
evt.preventDefault(); // Prevent default window.confirm() dialog
// Show custom modal
showCustomModal(evt.detail.ctx.confirm).then((confirmed) => {
if (confirmed) {
evt.detail.issueRequest(); // User confirmed — proceed
} else {
evt.detail.dropRequest(); // User cancelled — drop the request
}
});
}); Отмените событие по умолчанию и вызовите либо issueRequest(), чтобы продолжить выполнение запроса, либо dropRequest(), чтобы отменить его.
Licensed under the Zero-Clause BSD License.
https://four.htmx.org/reference/events/htmx-confirm/