我遇到问题,简单的Javascript代码无法使用标题中的链接文件,但在浏览器控制台中工作。代码是:
document.getElementById("displayname").onfocus = function(){alert("Hello");}
在chrome检查器中,我可以看到脚本文件已正确链接,我可以在源选项卡中访问它。我也在加载的脚本文件中收到此错误。
未捕获的TypeError:无法设置null的属性'onfocus'
这里有什么问题?
答案 0 :(得分:1)
问题在于您执行此代码时displayname
对象不存在。当你通过控制台执行它时,对象已经存在并且运行完美。
你有两个选择
答案 1 :(得分:1)
这是因为你的代码试图访问id为“displayname”的东西,而DOM还没有完成构建,并且还没有处理那个你的(可能是输入的)对象。 它从上到下处理/建立dom。
将代码放在</BODY>
标记正上方的页脚中,因为DOM已经完成构建,所以它可以很好地工作。
答案 2 :(得分:1)
尝试将代码包装在window.onload
。
window.onload = function() {
document.getElementById("displayname").onfocus = function(){alert("Hello");}
}
答案 3 :(得分:0)
这是做同样的简单方法
试试这个
Enter your name: <input id="displayname" type="text" onfocus="myFunction(this)">
参考http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onfocus