使用onblur註冊js事件當中alert和focus使用導致死循環問題排除
在網頁上表單某個元素若失焦時候就會觸發OnBlur事件
失焦的意思指的是失去焦點,瀏覽器是根據滑鼠游標聚焦至其他元素時,認定原本的元素失焦。
onblur="將觸發的 javascript function"
一個alert死循環的發生
原來是因為onblur後續再做focus的寫法沒有立即執行
因為alert會讓本身網頁原先停駐元素失焦
這裡我們可以於原先focus外層包一個setTimeout
強制讓其恢復具焦
setTimeout() 的作用 是在延遲了某段時間 (單位為毫秒) 之後
才去執行「一次」指定的程式碼
所以建議不要在onblur 去使用到alert
Ref:
Javascript alert messages in infinite loop
https://stackoverflow.com/questions/6356341/javascript-alert-messages-in-infinite-loop
使用onblur+alert+focus导致的死循环解决
http://jianboge.com/d321029
我反而覺得用onchange就好了吧..
回覆刪除