【第八章】事件----事件分类

事件分类

8.3.1页面事件

在项目开发中,经常需要JavaScript对网页中的DOM元素进行操作,而页面的加载又是按照代码的编写顺序,从上到下进行的。
因此,若在页面还未加载完成的情况下,就使用JavaScript操作DOM元素,会出现语法错误,代码如下。

<script>
			document.getElementById('demo').onclick = function(){
				console.log('单击');
			}
		</script>
		<div id="demo"></div>

在控制台出现错误提示,原因是界面在加载的过程中,没有获取到相应的元素对象。

load事件用于boby内所以标签都加载完成后才触发,又因其无需考虑页面加载顺序的问题,常常在开发具体功能时添加。
unload事件 用于页面关闭时触发,开发中经常用于清除引用。

事件名称事件触发时机
load当页面加载入完毕后触发
unload当页面关闭时触发

8.3.2焦点事件

事件名称事件触发时机
focus当获得焦点是触发(不会冒泡)
blur当失去焦点是触发(不会冒泡)

demo用户登录的表单

//编写HTML代码
<div id="tips"></div>
//用于显示错误提示信息,默认情况下隐藏,只有当文本框失去焦点,并且未填写任何内容时显示。
		<div class="box">
			<label>用户名:<input id="user" type="text" class="user"></label>
		   <label>密码:<input id="pass" type="password" class="pass"></label> 
		   <button id="login">登录</button>
		</div>
<script>
			window.onload = function(){
				addBlur($('user'));
				//检测id为user的元素失去焦点后,value值是否为空
				addBlur($('pass'));	
				//检测id为pass的元素失去焦点后,value值是否为空
			};
			function $(obj){
			//根据id获取指定元素
				return document.getElementById(obj);
				}
			function  addBlur(obj){
			//为指定元素添加失去焦点事件
					obj.onblur = function(){
						isEmpty(this);
					};
				}
			function isEmpty(obj){
			//检测表单是否为空
				if(obj.value ===''){
					$('tips').style.display='block';
					$('tips').innerHTML ='注意,输入的内容不能为空';
				}else{
					$('tips').style.display ='none';
				}
			}	
		</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值