gpt4 book ai didi

javascript - 在对象内部使用 document.getElementById(),在 JSFiddle 中有效,实际上是 TypeError。为什么?

转载 作者:太空宇宙 更新时间:2023-11-04 14:19:33 24 4
gpt4 key购买 nike

我有一段代码可以在 JSFiddle 中运行,但是当我在本地保存 HTML+JS 并在本地测试它时却无法运行。我无法弄清楚代码有什么问题。这是我的 JSFiddle

http://jsfiddle.net/LLUAB/

这是实际的代码,不是很长

<!doctype html>
<html>
<head>
<script type="text/javascript" language="Javascript">
function Composer(foobox) {
this.foobox = document.getElementById(foobox);

this.foobox.onkeydown = function(){window.alert("hello")};
}

var myComposer = new Composer("foo");
</script>
</head>
<body>

<textarea id="foo"></textarea>

</body>
</html>

最佳答案

因为在 JSFiddle 中,您的脚本位于 window.onLoad 中默认情况下的事件处理程序。在你的情况下 getElementById()方法无法找到尚未加载的元素。

在关闭之前将所有脚本放在正确的位置 </body>标签,它将起作用:

<script type="text/javascript">
// ...
</script>
</body>

关于javascript - 在对象内部使用 document.getElementById(),在 JSFiddle 中有效,实际上是 TypeError。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15572630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com