text標籤onblur="alert()"
文字方塊失去遊標的時候觸發alert();
但是當滑鼠選取此text,然後滑鼠離開整個瀏覽器視窗(例如點擊下桌面),這樣觸發alert()事件
現在問題來了:
滑鼠回到瀏覽器點擊彈出的"確定"按鈕後,彈窗繼續彈出...
怎麼搞?
怪我咯2017-05-19 10:15:27
不會出現這個狀況的,貼出你的程式碼。
補充
我能回答就肯定試過的啦下面程式碼就沒有問題
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<input type="text" onblur="alert();">
</body>
</html>
已經測試IE11 、 Firefox 、Chrome
補充
所描述的情況確實存在,想了下原因:
切回去後視窗失去了焦點,再回來的時候,文字方塊又自動獲取了焦點 所以一直繼續,從而不斷觸發。
這種問題實際上在使用的時候出現情況應該比較少。 一種解決方案是在視窗失去焦點的時候讓文字方塊也失去焦點如下:
已測問題解決
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<input type="text" onblur="alert();">
<script>
window.onblur=function(){
document.getElementsByTagName('input')[0].blur();
}
</script>
</body>
</html>
黄舟2017-05-19 10:15:27
剛剛試了下,確實有這個現象,但是把alert改成其他的(比如console.log)就不會出現反复觸發blur 的情況,一般情況下應該也不會用到alert,所以這個問題應該也不會有很大影響。至於為什麼會出現這種情況,我也不清楚~~