首页 >web前端 >js教程 >为什么 Onclick 属性会出现'未捕获的引用错误:函数未定义”,如何修复?

为什么 Onclick 属性会出现'未捕获的引用错误:函数未定义”,如何修复?

Linda Hamilton
Linda Hamilton原创
2024-11-27 00:16:11298浏览

Why Does

Onclick 属性的“未捕获的引用错误:函数未定义”

问题:

单击带有onclick 属性时,错误“Uncaught ReferenceError:函数未定义”发生。

原因:

用户脚本在隔离环境中运行,其中 onclick 在目标页面范围内运行。因此,onclick 无法访问用户脚本中定义的函数。

解决方案:

避免使用 onclick 并使用 addEventListener() 代替。例如:

emoteTab[2].innerHTML += '<span>

更新的代码:

for (i = 0; i < EmoteURLLines.length; i++) {
    if (checkIMG (EmoteURLLines[i])) {
        localStorage.setItem ("nameEmotes", JSON.stringify (EmoteNameLines));
        localStorage.setItem ("urlEmotes", JSON.stringify (EmoteURLLines));
        localStorage.setItem ("usageEmotes", JSON.stringify (EmoteUsageLines));
        if (i == 0) {
            console.log (resetSlot ());
        }
        emoteTab[2].innerHTML  += '<span>
var targetSpans = emoteTab[2].querySelectorAll ("span[data-usage]");
for (var J in targetSpans) {
    targetSpans[J].addEventListener ("click", appendEmote, false);
}

其他警告:

  • 避免对多个元素使用相同的ID (无效)。
  • 请注意,使用innerHTML 或outerHTML 可能会覆盖受影响节点上的事件处理程序。

以上是为什么 Onclick 属性会出现'未捕获的引用错误:函数未定义”,如何修复?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn