text標(biāo)籤onblur="alert()"
文字方塊失去遊標(biāo)的時(shí)候觸發(fā)alert();
但是當(dāng)滑鼠選取此text,然後滑鼠離開(kāi)整個(gè)瀏覽器視窗(例如點(diǎn)擊下桌面),這樣觸發(fā)alert()事件
現(xiàn)在問(wèn)題來(lái)了:
滑鼠回到瀏覽器點(diǎn)擊彈出的"確定"按鈕後,彈窗繼續(xù)彈出...
怎麼搞?
不會(huì)出現(xiàn)這個(gè)狀況的,貼出你的程式碼。
補(bǔ)充
我能回答就肯定試過(guò)的啦下面程式碼就沒(méi)有問(wèn)題
<!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>
已經(jīng)測(cè)試IE11 、 Firefox 、Chrome
補(bǔ)充
所描述的情況確實(shí)存在,想了下原因:
切回去後視窗失去了焦點(diǎn),再回來(lái)的時(shí)候,文字方塊又自動(dòng)獲取了焦點(diǎn) 所以一直繼續(xù),從而不斷觸發(fā)。
這種問(wèn)題實(shí)際上在使用的時(shí)候出現(xiàn)情況應(yīng)該比較少。 一種解決方案是在視窗失去焦點(diǎn)的時(shí)候讓文字方塊也失去焦點(diǎn)如下:
已測(cè)問(wèn)題解決
<!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>
剛剛試了下,確實(shí)有這個(gè)現(xiàn)象,但是把a(bǔ)lert改成其他的(比如console.log)就不會(huì)出現(xiàn)反復(fù)觸發(fā)blur 的情況,一般情況下應(yīng)該也不會(huì)用到alert,所以這個(gè)問(wèn)題應(yīng)該也不會(huì)有很大影響。至於為什麼會(huì)出現(xiàn)這種情況,我也不清楚~~