编程语言
首页 > 编程语言> > javascript – 在object中使用document.getElementById(),在JSFiddle中工作,实际上是TypeError.为什么?

javascript – 在object中使用document.getElementById(),在JSFiddle中工作,实际上是TypeError.为什么?

作者:互联网

我有一个在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>

标签:html,javascript,jsfiddle
来源: https://codeday.me/bug/20191008/1874648.html