Javascript 无法将变量传递给事件侦听器
所以,基本上,我想记住索引,即I。 因此,下次按下按钮时,可以使用相应的i,即创建按钮时的i 不过,正如控制台日志所示,标题已正确保存,但索引未定义。真奇怪 有人知道原因吗 谢谢大家!!Javascript 无法将变量传递给事件侦听器,javascript,html,Javascript,Html,所以,基本上,我想记住索引,即I。 因此,下次按下按钮时,可以使用相应的i,即创建按钮时的i 不过,正如控制台日志所示,标题已正确保存,但索引未定义。真奇怪 有人知道原因吗 谢谢大家!! 你在用阴影遮住外面的我 试一试 相反,传递给事件侦听器的。i始终是未定义的。 // display all movies in local storage function displayMovie() { console.log("call dispal"); let moviePanel =
你在用阴影遮住外面的我 试一试 相反,传递给事件侦听器的。i始终是未定义的。
// display all movies in local storage
function displayMovie() {
console.log("call dispal");
let moviePanel = document.getElementById("movie-panel");
for (i; i < movieStorage.length; i++) {
let title = movieStorage[i].title;
let year = movieStorage[i].year;
let rating = movieStorage[i].rating;
console.log(i," " ,movieStorage.length)
appendMovie(i, title, year, rating);
}
}
function appendMovie(i, title, year, rating) {
console.log("appendMovie index, ", i);
let template = document.querySelector("#entry-temp");
let tempNode = template.content.cloneNode(true);
tempNode.querySelector("#li-movie-title").innerHTML = title;
tempNode.querySelector("#li-movie-year").innerHTML = year;
tempNode.querySelector("#li-movie-rating").innerHTML = "Rated: "+rating;
tempNode.querySelector('#movie-edit').addEventListener("click", function(e, i) { editMovie(i, title, year, rating);});
let moviePanel = document.getElementById("movie-panel");
moviePanel.appendChild(tempNode);
}
function editMovie(index, title, year, rating) {
console.log("index ", index);
console.log("title ", title);
to_be_replace = index;
document.getElementById("add-dialog").show();
document.getElementById('request-save').removeEventListener("click", saveMovieTemp);
document.getElementById('request-save').addEventListener("click", saveEditMovieTemp);
document.getElementById("movie-title").value = title;
document.getElementById("movie-year").value = year;
document.getElementById("movie-rating").value = rating;
}
tempNode.querySelector('#movie-edit').addEventListener("click", function(e, i) {
editMovie(i, title, year, rating);
});
tempNode.querySelector('#movie-edit').addEventListener("click", function(e) {
editMovie(i, title, year, rating);
});