Извършвам действие по изтриване на страница, когато потребителят щракне върху бутона за потвърждение на бутон за модален прозорец на twitter bootstrap.
Имам два бутона: един позволява на потребителя да отмени действието, а друг да потвърди.
Когато потребителят щракне върху бутона за потвърждение на изтриване, когато модалът е скрит, аз извършвам действията си, така че например мога да покажа анимация и всъщност да изтрия елемента.
Ако потребителят щракне върху няколко елемента, но неговият/нейният избор е бутона за отмяна, когато той/тя щракне върху елемента, който иска да изтрие, изтриването се извършва и върху елементите, за които изборът е бил да отмените.
Не трябва ли „скритото“ събитие да бъде отделено от елемента, след като бъде изпълнено?
Знам, че мога да отделя веригата на събития, променяйки $('#confirmDeleteModal').on('hidden', function() {
на $('#confirmDeleteModal').off('hidden').on('hidden', function() {
, но наистина ще разбера защо това се случва. Пропускам ли нещо?
Кодът е:
$(document).ready(function(){
$('.delete').on('click', function() {
var itemID = $(this).data('product-id')
$('#confirmDeleteModal').modal('show');
$('#confirmDelete').on('click', function() {
$('#confirmDeleteModal').on('hidden', function() {
// Here I do my stuff to perform deletion
$('#result').append('This method has been called for ' + itemID + ' <br />' )
});
});
});
});
Надявам се, че изложих ясно въпроса си. Подготвих и JS Bin: http://jsbin.com/inulaw/5/edit