У меня есть форма внутри модального окна, которое либо сохраняет заметку при нажатии одной кнопки, либо удаляет ее при нажатии другой. Элементы сохраняются/удаляются, но количество запросов увеличивается с каждым кликом. Я получаю 4 одинаковых запроса и т. д. Как мне это остановить. я должен что-то отвязать?
$('#modal').on('show.bs.modal', function (e) {
var origin = $(e.relatedTarget);
var memoId = origin.attr('data-id');
$('#modal').click(function(event){
if ($(event.target).hasClass('memo-save')) {
event.preventDefault();
var memoText = $(event.target).parent().parent().find('textarea').val();
var memo = {
memo: memoText,
id: memoId
}
$.ajax({
type: "POST",
url: '/memos/add-memo?memo=' +memo+'&id=' + memoId,
data: memo,
success: function (result) {
$(event.target).toggleClass('active').html('Memo Saved');
}
});
} else if ($(event.target).hasClass('memo-delete')) {
event.preventDefault();
var memoText = "";
var memo = {
id: memoId
}
$.ajax({
type: "POST",
url: '/memos/remove-memo?id=' + itemId,
data: memo,
success: function (result) {
$(event.target).toggleClass('active').html('Memo Deleted');
}
});
}
});
});



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


вы можете переместить $('#modal').click за пределы $('#modal').on('show.bs.modal', таким образом, он не будет повторно добавлять слушателя каждый раз, когда отображается модальное окно.