окна. (Модельное окно на страницу) в данном коде ошибка следующая. если сначала вызвать модельное окно закрыть и вызвать еще раз но с другой кнопки и от туда кликнуть по save_button то в консоле будет выведено 2 раза отправил а надо 1.
const but = document.querySelector('.save_button');
let isHandlerAdded = false;
document.querySelectorAll('.close_btn').forEach(item => {
item.addEventListener('click', function(event) {
console.log(event.target); // Это элемент, с которого было вызвано событие
if (!isHandlerAdded) {
but.addEventListener('click', function handleClick(e) {
e.preventDefault();
console.log('Отправил');
isHandlerAdded = false;
});
isHandlerAdded = true;
}
});
});
А зачем ты в каждом клике навешиваешь клик?
на странице есть 10 элементов при удалении которых нужно ввести комментарий причина удаления. вот тут идет вызов именно этого окна. item.addEventListener('click', function(event) { console.log(event.target); // Это элемент, с которого было вызвано событие а вот тут идет отправка в базу данных данных позиции которую надо удалить и отправка комментария почему but.addEventListener('click', function handleClick(e) { e.preventDefault(); console.log('Отправил'); isHandlerAdded = false; });
я к тому, что если кнопка у тебя одна, но ты навесил туда 10 листенеров, то они 10 раз у тебя и сработают
кнопок у меня для каждой позиции своя.
у меня модельно окно одно.
Дошло, спасибо. еще раз посмотрел. не так должно работать. логика кода г.
Обсуждают сегодня