因此,我阅读了分配书,我应该将代码包装在IIFE中,以帮助保持示波器整洁,以最大程度地减少潜在错误。我发现我需要使用在一个文件中创建的一些变量,在另一个文件中创建-因此要将它们放在全局范围内(或在IIFE之外)。
问题:当我尝试删除IIFE时,addEventListener
停止工作。如括号中所示,这表明一旦删除IIFE,就可以找到功能。
如果有帮助,则代码:
"use strict";
//Search the LS for the user input
function findSearchInput() {
//Get search input
let searchInput = document.querySelector("#searchInput").value;
//Search array of show objects in LS for input or alert empty
let showList = JSON.parse(localStorage.getItem("showList") || alert("Empty"));
for (let i = 0; i < showList.length; i++) {
if (searchInput === showList[i].title) {
let foundShow = showList[i];
document.querySelector("#resultTitle").innerHTML = foundShow.title;
document.querySelector("#resultGenre").innerHTML = foundShow.genre;
document.querySelector("#resultType").innerHTML = foundShow.type;
document.querySelector("#resultWatched").innerHTML = foundShow.watched;
};
};
};
document.querySelector("#searchBtn").addEventListener("click", findSearchInput);
document.querySelector("#randomBtn").addEventListener("click", findRandom);
如果我在这里所说的略有偏离,我深表歉意。如果您需要任何答案,可以进一步解释。
谢谢您的帮助。