Создал переменную вверху сайта, ниже (после какой-то части кода) создал событие на клик у переменной, но событие игнорируется. Перемесит создание переменной в ту часть кода, в которой и создавал событие и все заработало. Как это работает?
document.addEventListener("DOMContentLoaded", () => {
const movieDB = {
movies: []
};
const promoAdv = document.querySelectorAll(".promo__adv>img"),
promoBg = document.querySelector(".promo__bg"),
promoGenre = promoBg.querySelector(".promo__genre"),
promoMovieList = document.querySelector(".promo__interactive-list"),
promoForm = document.querySelector("form.add"),
promoSendMovie = promoForm.querySelector("button"),
promoMovieValue = promoForm.querySelector(".adding__input"),
checkBox = document.querySelector('[type="checkbox"]');
const deleteMovieBtns = document.querySelectorAll('.delete'); //если создать переменную здесь, ниже событие игнорируется
promoGenre.textContent = 'драма';
const delteAdv = (arr) => {
arr.forEach(item => {
item.remove();
});
}
delteAdv(promoAdv);
promoBg.style.backgroundImage = "url(./img/bg.jpg)";
const updateList = (films, parent) => {
films.sort();
parent.innerHTML = "";
films.forEach((film, i) => {
parent.innerHTML += `
<li class="promo__interactive-item">${i + 1} ${film}
<div class="delete"></div>
</li>
`;
})
// document.querySelectorAll('.delete').forEach((btn, i)=> {
// btn.addEventListener('click',() => {
// btn.parentElement.remove();
// movieDB.movies.splice(i, 1);
// })
// });
}
updateList(movieDB.movies, promoMovieList);
const clickBtn = event => {
event.preventDefault();
const favorite = checkBox.checked;
if (promoMovieValue.value) {
if (promoMovieValue.value.length > 21) {
promoMovieValue.value = promoMovieValue.value.slice(0, 22) + "...";
}
movieDB.movies.push(promoMovieValue.value.toUpperCase());
updateList(movieDB.movies, promoMovieList);
if (favorite){
console.log();
}
promoForm.reset();
}
}
promoSendMovie.addEventListener('click', clickBtn);
// Здесь идет создание события
const deleteMovieBtns = document.querySelectorAll('.delete'); // если создавать переменную здесь, все работает
deleteMovieClick = () => {
console.log('dsfsfsdfkjsl')
}
deleteMovieBtns.forEach((btn, i) => {
btn.addEventListener('click', deleteMovieClick);
})
});