在学习焦点事件的时候,使用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()不应该与焦点事件一起使用。