Я пытаюсь добавить окно подтверждения ко многим ссылкам, кнопкам или входам в событие click.JQuery: Добавить обработчик подтверждения с функциями привязки/включения и запуска
Я не могу использовать location.href, подать(), или другие специфические особенности, потому что:
- location.href, к примеру, не будет работать на кнопку отправки,
- местоположение. Например, href не будет запускать другие связанные обработчики.
Так что мне нужно использовать функцию trigger(), которая теоретически выполняет все обработчики и собственное действие. «Трудная» часть состоит в том, чтобы выполнить все обработчики, ИСКЛЮЧИТЕ обработчик, который появляется в поле подтверждения.
Вот мой код:
$('a, button, input[type="submit"]').each(function() {
var oButton = $(this);
oButton.on('click.pending', function(oEvent) {
console.log('click !');
oEvent.preventDefault();
var oDialog = $('<div class="dialog-example">[Question] ?</div>').dialog({
buttons: {
Cancel: function() {
console.log('cancelled !');
// Nothing to do
oDialog.dialog('close');
},
Ok: function() {
console.log('confirmed !');
// Trigger the rest of the handlers AND the native action, BUT not this one, so this dialog is not used
// Problem : nothing happens here
oButton.trigger('click.confirmed');
oDialog.dialog('close');
}
}
});
});
});
Заранее спасибо! ;)
могли бы вы создать скрипку, пожалуйста? –
Скрипка: http://jsfiddle.net/Chicna/EerEF/2/ – Chicna
В этом случае для «ясности» кода я использую что-то вроде этого: http://jsfiddle.net/EerEF/4/ (oops) –