Javascript 用addEventListener替换onClick

Javascript 用addEventListener替换onClick,javascript,dom,javascript-events,onclick,Javascript,Dom,Javascript Events,Onclick,我试图将一个脚本完全删除到一个外部.js文件中,并用外部文件中的addEventListener替换onClick事件。我无法让它工作: 我的函数稍微复杂一点,但它基本上是从on元素中复制、链接的。addEventListener 将onclick=“return hidePurchased();”添加到标记中确实有效,因此问题不在于hidePurchased()函数 任何帮助都将不胜感激 getElementsByName返回一个NodeList,该NodeList没有addEventLis

我试图将一个脚本完全删除到一个外部.js文件中,并用外部文件中的addEventListener替换onClick事件。我无法让它工作:

我的函数稍微复杂一点,但它基本上是从on
元素中复制、链接的。addEventListener

onclick=“return hidePurchased();”
添加到
标记中确实有效,因此问题不在于
hidePurchased()
函数


任何帮助都将不胜感激

getElementsByName
返回一个
NodeList
,该NodeList没有
addEventListener
方法,因此您需要通过取消引用结果来实际选择要绑定click listener的对象

尝试:

工作示例:

给你。据我所知,您只会忘记选择foo数组的第一个索引。它现在似乎正在工作。看看它,你会发现它在这件事上有noshow类。我还添加了css来隐藏noshow,这样您就可以看到它正在工作

var foo = document.getElementsByName("hide")[0];