1

各位开发者您好,

我有一个简单的问题。我正在研究我的 javascript 技能,这显然不是最好的:)。我正在尝试通过tutorial使用 giphy API 编写搜索框。在视频 5 之前,我的代码与教程中显示的代码一样 100% 工作,但现在(视频 6)它不再工作了。

我收到错误“未捕获的 TypeError:无法读取属性 'addEventListener' of null”。我搜索了很多并尝试了我在这里找到的修复程序,但它们不适用于我的代码:/ 有趣的是,我的代码正在codepen.io上运行!因此,codepen 和我的本地网站之间的唯一区别是多个搜索表单和引导程序。所以我猜这个问题是多个搜索表单,因为这行:

const searchGif = document.getElementById("search-gif");
const searchInput = document.getElementById("gif-search-string"); 
searchGif.addEventListener('submit', function(event){
   event.preventDefault();
   const query = searchInput.value;
   search(query);
})

但我想是因为在执行其余的 javascript 代码之前,我通过 ID 获取了正确的表单,可以吗?所以我希望你能帮助我解决我的问题。就像我说的,我在 JS 方面不是很好,只是想变得越来越好<3。

PS:通过html正文末尾的脚本标签加载我的脚本 PS2:这是我完整的HTML代码-> index.php -timeline -gif.php

4

1 回答 1

0

这就是你“开始”你的代码的方式。加载!== 渲染(不是 100% 确定这些是正确的术语)。尝试将其包装在一个自执行函数中:

(function() {
 // Put your code here - dom should be available
})();
于 2020-09-14T11:42:08.310 回答