Javascript 将onClick函数设置为动态创建的按钮,该函数将触发onload
我目前正在创建一个程序,它利用localStorage创建一个具有愿望列表功能的站点。但是,当我去生成html页面时,它应该创建一个愿望列表,其中包含项目的照片、名称和从列表中删除所述项目的按钮。但当我将onClick功能分配给按钮时,该功能会在页面加载时启动,而不是在单击时启动。我有四个主要的java脚本函数,一个用于添加到本地存储,一个用于从本地存储中删除,一个用于删除的助手函数,以及一个用于生成愿望列表页面(问题所在)的函数Javascript 将onClick函数设置为动态创建的按钮,该函数将触发onload,javascript,html,onclick,local-storage,Javascript,Html,Onclick,Local Storage,我目前正在创建一个程序,它利用localStorage创建一个具有愿望列表功能的站点。但是,当我去生成html页面时,它应该创建一个愿望列表,其中包含项目的照片、名称和从列表中删除所述项目的按钮。但当我将onClick功能分配给按钮时,该功能会在页面加载时启动,而不是在单击时启动。我有四个主要的java脚本函数,一个用于添加到本地存储,一个用于从本地存储中删除,一个用于删除的助手函数,以及一个用于生成愿望列表页面(问题所在)的函数 函数genWishListPage(){ for(var i=0
函数genWishListPage(){
for(var i=0;i
注释部分是我已经尝试过的方法,并且得到了相同的错误
任何帮助或建议都将不胜感激 当你写作时
removeButton.onClick=RemoveFromWishList(item.name)代码>将函数调用的返回值分配给onClick事件。相反,你可以写作
removeButton.onClick=function(){RemoveFromWishList(item.name);}
您应该为onClick
事件侦听器分配一个函数
function genWishListPage(){
for (var i = 0; i < localStorage.length; i++) {
var item = getWishlist(i);
var name = document.createElement("p");
var removeButton = document.createElement("button");
var image = document.createElement("img")
image.src = item.image;
removeButton.innerText = "Remove from wishlist";
removeButton.onClick = RemoveFromWishList(item.name);
removeButton.setAttribute("ID","remove");
name.innerText = item.name;
document.body.appendChild(image);
document.body.appendChild(name);
document.body.appendChild(removeButton);
document.body.appendChild(document.createElement("BR"));
//removeButton.setAttribute("onclick", RemoveFromWishList(item.name));
//removeButton.addEventListener('click', RemoveFromWishList(item.name));
//document.getElementById("remove").addEventListener("click",RemoveFromWishList(item.name));
}
}