在<body>里为什么也要加window.onload才能触发?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>onblur和onfocus</title>
<style type="text/css">
.red{
border:1px solid red;
}
</style>
</head>
<body>
姓名:<input type="text"> <span></span>
<script type="text/javascript">
window.onload=function(){
var a=document.getElementsByTagName("input")[0],
b=document.getElementsByTagName("span")[0];
a.onfocus=function(){
var aa=this.value;
if (aa.length==0){
b.innerHTML="请输入您的姓名";
this.className="";
}else{
b.innerHTML="";
};
};
a.onblur=function(){
var aa=this.value;
if (aa.length==0) {
b.innerHTML="用户名不能为空";
this.className="red";
}else{
b.innerHTML="";
this.className="";
};
};
};
</script>
</body>
</html>
这里我试着不加window.onload,但是JS不响应,这是为什么?
正在回答
同学你好,经过测试,body里面不添加window.onload也是能够触发的哦。
效果图:
代码:
<body> 姓名:<input type="text"> <span></span> <script type="text/javascript"> var a = document.getElementsByTagName("input")[0], b = document.getElementsByTagName("span")[0]; a.onfocus = function() { var aa = this.value; if (aa.length == 0) { b.innerHTML = "请输入您的姓名"; this.className = ""; } else { b.innerHTML = ""; }; }; a.onblur = function() { var aa = this.value; if (aa.length == 0) { b.innerHTML = "用户名不能为空"; this.className = "red"; } else { b.innerHTML = ""; this.className = ""; }; }; </script> </body>
可以测试一下,如果帮助到了你,欢迎采纳。
祝学习愉快!
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星