1. 程式人生 > >焦點事件onfocus和onblur造成的死迴圈問題

焦點事件onfocus和onblur造成的死迴圈問題

在學習焦點事件的時候,使用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()不應該與焦點事件一起使用。