焦点事件onfocus和onblur造成的死循环问题

来源:互联网 发布:分治与递归算法的应用 编辑:程序博客网 时间:2024/04/25 08:39

在学习焦点事件的时候,使用onfocus和alert(),onblue和alert(),点击文本框触发onfocus()事件,弹出alert文本信息,点击确定后又触发onblur事件,弹出alert()信息,再点击确定又触发onfocus事件,形成一个死循环,代码如下:

  <script type="text/javascript">window.onload=function(){var text1=document.getElementById("text1");text1.onfocus=function(){    alert("聚焦事件触发");    }text1.onblur=function(){    alert("失焦事件触发");    }}</script></head><body><input type="text"  id="text1"/></body>

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

原创粉丝点击