Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将onClick函数设置为动态创建的按钮,该函数将触发onload_Javascript_Html_Onclick_Local Storage - Fatal编程技术网

Javascript 将onClick函数设置为动态创建的按钮,该函数将触发onload

Javascript 将onClick函数设置为动态创建的按钮,该函数将触发onload,javascript,html,onclick,local-storage,Javascript,Html,Onclick,Local Storage,我目前正在创建一个程序,它利用localStorage创建一个具有愿望列表功能的站点。但是,当我去生成html页面时,它应该创建一个愿望列表,其中包含项目的照片、名称和从列表中删除所述项目的按钮。但当我将onClick功能分配给按钮时,该功能会在页面加载时启动,而不是在单击时启动。我有四个主要的java脚本函数,一个用于添加到本地存储,一个用于从本地存储中删除,一个用于删除的助手函数,以及一个用于生成愿望列表页面(问题所在)的函数 函数genWishListPage(){ for(var i=0

我目前正在创建一个程序,它利用localStorage创建一个具有愿望列表功能的站点。但是,当我去生成html页面时,它应该创建一个愿望列表,其中包含项目的照片、名称和从列表中删除所述项目的按钮。但当我将onClick功能分配给按钮时,该功能会在页面加载时启动,而不是在单击时启动。我有四个主要的java脚本函数,一个用于添加到本地存储,一个用于从本地存储中删除,一个用于删除的助手函数,以及一个用于生成愿望列表页面(问题所在)的函数

函数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));
    }
}