Следуя этому вопросу, я пытаюсь выполнить ненавязчивый диалог подтверждения.
$(document).ready(function () {
$("[data-confirmPrompt]").click(function (event) {
var confirmPrompt = event.currentTarget.attributes['data-confirmPrompt'].value;
event.preventDefault();
$.prompt(confirmPrompt, {
buttons: { Yes: true, No: false },
callback: function (v, m, f) {
if (v) {
// User clicked Yes. Unbind handler to avoid
// recursion, then click the target element again
$(event.currentTarget).unbind('click');
event.currentTarget.click();
}
}
});
});
});
Когда пользователь нажал кнопку "Да", я хочу, чтобы действие по умолчанию, связанное с событием, выполнялось. Я сделал это выше, отвязав обработчик jQuery и снова щелкнув элемент. Это отлично работает при отправке формы или переходе на другую страницу - но, конечно, не работает на страницах с поддержкой AJAX, где я хочу сохранить обработчик события jQuery.
Существует ли альтернативный общий способ выполнения действия по умолчанию? Логически что-то вроде event.executeDefault()
.