刚刚学到onfocus和onblur事件,我将两者组合在一起,用弹框来展示是否获得或失去焦点,发现根本就是死循环:
<script type="text/javascript">
document.getElementById("inp").onfocus=function(){
alert("获得焦点了!");
}
document.getElementById("inp").onblur=function(){
alert("失去焦点了!");
}
</script>
原以为是这两个事件冲突,单独使用一个事件后发现还是死循环,在论坛逛了一圈得知原因:
点击文本框触发聚焦事件,弹出警告框,然后点击警告框中中的确定,其实焦点已经移动到警告框,触发失焦事件了,确定后焦点又会回到文本框,又会触发聚焦事件,形成循环。因此alert()不应该与焦点事件一起使用。