javascript - 文字方塊onblur事件連續觸發的問題
漂亮男人
漂亮男人 2017-05-19 10:13:27
0
2
1061

text標籤onblur="alert()"
文字方塊失去遊標的時候觸發alert();
但是當滑鼠選取此text,然後滑鼠離開整個瀏覽器視窗(例如點擊下桌面),這樣觸發alert()事件
現在問題來了:
滑鼠回到瀏覽器點擊彈出的"確定"按鈕後,彈窗繼續彈出...
怎麼搞?

漂亮男人
漂亮男人

全部回覆(2)
刘奇

不會出現這個狀況的,貼出你的程式碼。


補充

我能回答就肯定試過的啦下面程式碼就沒有問題

<!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>
黄舟

剛剛試了下,確實有這個現象,但是把alert改成其他的(比如console.log)就不會出現反复觸發blur 的情況,一般情況下應該也不會用到alert,所以這個問題應該也不會有很大影響。至於為什麼會出現這種情況,我也不清楚~~

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板