Это происходит, когда мы связываем событие с элементами, которые загружаются динамически через AJAX
Так, например, мы загружаем некоторое динамическое HTML-содержимое (например, динамическое содержимое в модальном режиме) по нажатию кнопки формы edit
,
И в этом контенте, если у нас есть событие клика на кнопке , например. delete
, затем каждый раз, когда мы нажимаем edit
кнопку формы, она связывает событие click
с delete
кнопкой каждый раз,
И если вы установили поле подтверждения для события нажатия кнопки delete
, тогда будет запрашивать столько раз, сколько было привязано для этого события нажатия означает здесь, если мы нажали edit
5 раз нажмите кнопку подтверждения, затем 5 раз.
Таким образом, для решения этой проблемы вы можете unbind
событие каждый раз перед привязкой события к динамически загруженному элементу следующим образом:
$(document).off('click', '.DeleteComment').on('click', '.DeleteComment', function () {
if (confirm('Are you sure you want to permanently delete this comment?')){
//Delete process
return true;
}
return false;
}
Или Другой способ решения этой проблемы - добавить скрипт на главной странице, то есть статическая страница не загружается динамически .