HTML事件 onfocus(获得焦点) 和 onblur(失去焦点) 死循环问题

刚刚学到onfocus和onblur事件,我将两者组合在一起,用弹框来展示是否获得或失去焦点,发现根本就是死循环:

		<script type="text/javascript">
			 document.getElementById("inp").onfocus=function(){
				 alert("获得焦点了!");
			}
			
			 document.getElementById("inp").onblur=function(){
				 alert("失去焦点了!");
			}
			
		</script>

 

原以为是这两个事件冲突,单独使用一个事件后发现还是死循环,在论坛逛了一圈得知原因:

点击文本框触发聚焦事件,弹出警告框,然后点击警告框中中的确定,其实焦点已经移动到警告框,触发失焦事件了,确定后焦点又会回到文本框,又会触发聚焦事件,形成循环。因此alert()不应该与焦点事件一起使用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值