为什么此脚本的位置会改变网页的行为
Why is the location of this script changing the behaviour of webpage?
一个小的Javascript函数,用于大写文本字段的内容如下:
<html>
<head>
<title>capitalize</title>
</head>
<body>
<input type="text" id="uname" length="20" /><br />
<input type="submit" id="submit" value="submit" />
<script>
document.getElementById("submit").addEventListener("click",eve);
function eve(){
var uname = document.getElementById("uname").value;
uname = uname.toUpperCase();
document.getElementById("uname").value=uname;
}
</script>
</body>
</html>
现在,这工作正常,但是当我将 Javascript 代码的位置更改为 head 标签时,它不起作用。
<html>
<head>
<title>key events</title>
<script>
document.getElementById("submit").addEventListener("click",eve);
function eve(){
var uname = document.getElementById("uname").value;
uname = uname.toUpperCase();
document.getElementById("uname").value=uname;
}
</script>
</head>
<body>
<input type="text" id="uname" length="20" /><br />
<input type="submit" id="submit" value="submit" />
</body>
</html>
使用 document.ready 函数。
当您在关闭 body 标记之前放置代码时,DOM 已完全创建。当您将其放入 head tag 中时的不同情况<</p>
位于头部内的脚本在呈现正文之前执行。因此,您尝试定位的元素尚不存在。
尝试将引用元素包装js
window.onload
事件处理程序中,其中js
位于head
元素中;因为#submit
元素在附加到.addEventListener
时不会加载到DOM
document.getElementById("submit")
<html>
<head>
<title>key events</title>
<script>
window.onload = function() {
document.getElementById("submit").addEventListener("click", eve);
function eve() {
var uname = document.getElementById("uname").value;
uname = uname.toUpperCase();
document.getElementById("uname").value = uname;
}
}
</script>
</head>
<body>
<input type="text" id="uname" length="20" />
<br />
<input type="submit" id="submit" value="submit" />
</body>
</html>
在 head 中时,脚本在加载页面的其余部分之前执行。确保等待页面加载:
window.onload = function() {
document.getElementById("submit").addEventListener("click",eve);
function eve(){
var uname = document.getElementById("uname").value;
uname = uname.toUpperCase();
document.getElementById("uname").value=uname;
}
}
相关文章:
- 网页动画 API - 改变动画持续时间
- 为什么此脚本的位置会改变网页的行为
- 可以't使用“t”改变网页的位置;window.oneforeunload”;
- 改变显示的网页
- 有没有办法改变移动键盘上的转到/提交按钮在移动网页上的作用
- 另一个“;如何在不离开网页的情况下改变URL”;
- 是否有一种方法来改变所有的网页链接url根据浏览器的url
- js后端可以改变网页的内容吗?
- 将横向iPad旋转为纵向iPad不会改变网页的缩放比例
- 如何改变图片在网页上的加载方式?(例如,较低的分辨率)
- 获取网页URL(移动到其他页面而不改变URL)
- 你可以让网页标题一次又一次地改变
- 我们怎么能只改变网页的内部部分呢?
- 在哪个订单网页代码执行,我们如何改变订单
- 在方向改变时重新呈现网页的最佳方法是什么
- 完全改变和添加的内容在网页上
- 如何改变焦点的网页加载在javascript的flash游戏
- PHP / AJAX:每3秒获取网页内容,直到它改变
- 如何改变数据在javascript运行在外部网页的用户脚本
- 放大网页,然后点击后退按钮改变前一页的背景大小