У меня есть модальный бутстрап, который показывает подтверждающее сообщение.Если нажата кнопка «принять», то вызывается функция с идентификатором, если нажаты кнопки «отмена» или «закрыть», то модальное закрытие.Проблема в том, что, когда отображается модальное окно, если я нажал на кнопку «Отмена», а затем снова открыл модальное окно, и в этот раз я нажимаю «Принять», функция вызывается дважды, один раз за время, когда я нажал «Отмена», и один раз длявремя, когда я нажал «принять».Как я могу предотвратить это?
$(document).ready(initItems)
function initItems() {
$('.delete-item').on('click', initItemDeletion)
}
function initItemDeletion() {
const itemId = $(this).data('item-id')
$('h5.modal-title').text('Confirmation')
$('div.modal-content div.modal-body').text('Are you sure you want to delete this item?')
$('div.modal-footer button.btn.btn-primary').text('Yes, Delete It!')
$('#main-modal').modal()
$('div.modal-footer button.btn.btn-primary').click(() => {
deleteItem(itemId)
$('#main-modal').modal('hide')
})
return
}
function deleteItem(itemId) {
console.log('deleting item...' + itemId)
}
Опять же:
- нажмите на ссылку: модальное отображается, но я нажимаю на отмену.Отпечатки консоли: ничего
- нажмите на ссылку: показывается модал, но я нажимаю принять.Печать на консоли: удаление элемента ... 2 удаление элемента ... 9
, где элемент 2 - это строка элемента, который я щелкнул в первый раз, а 9 - текущая строка, которую я нажимаюна.