【问题标题】:Uncaught ReferenceError: clickWorld is not defined -- Function not defined?Uncaught ReferenceError: clickWorld is not defined -- 函数未定义?
【发布时间】:2013-11-10 02:15:41
【问题描述】:

好的,所以我已经用 javascript 编码了大约 3 个小时,我已经被卡住了。它看起来很简单,但是,每当我运行并单击“Hello”时,我都会收到一条错误消息“Uncaught ReferenceError: clickWorld is not defined”。我做了一些谷歌搜索,发现了一些技巧,即 windows.onload 并将脚本标签直接放在 /body 之前。都没有被问题解决。我现在正在寻求额外的帮助。这是我的代码...

<!DOCTYPE html>
<html>
<head> 
</head>

<div id="javatest" onclick="clickWorld()">Hello</div>
<body>
<script type="text/javascript">
window.onload = function() {
function clickWorld()
    {
    alert("BANG");
    }
}
</script>
</body>
</html>

我非常感谢您的帮助,因为在解决此问题之前我无法继续学习。非常感谢!

【问题讨论】:

    标签: javascript function undefined


    【解决方案1】:

    您似乎正在尝试使用带有 window.onload 的匿名函数,它应该正确地写成这样:

    window.onload = function() {
        alert("BANG");
    };
    

    通过将它放在 window.onload 中,就像这样,它超出了范围 - 基本上你的 div 无法“看到”javascript。出于您的目的,您可能根本不希望 window.onload 在那里 - 这是不必要的。在script 标签中,您只需要:

    function clickWorld() {
        alert("BANG");
    }
    

    您还需要将 divheadbody 标记之间移动 - 它应该在 body 标记内。

    如果您想在 script 标记中添加多个函数,只需像这样添加它们:

    function someFunc1() {
        // Do stuff
    }
    
    function someFunc2() {
        // Do stuff
    }
    

    【讨论】:

    • 如果我想拥有多个功能怎么办?我可以多次使用“windows.unload = functionName”吗?
    【解决方案2】:

    代替

    window.onload = function () {
        function clickWorld() {
            alert("BANG");
        }
    }
    

    使用

    function clickWorld() {
        alert("BANG");
    }
    

    另外

    将您的 div 放入 body,目前您的 div 在 head 部分

    DEMO

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-24
      • 1970-01-01
      • 1970-01-01
      • 2021-12-08
      • 2014-09-16
      • 2019-01-22
      • 2019-12-31
      • 2020-05-24
      相关资源
      最近更新 更多