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,所以这个问题应该也不会有很大影响。至于为什么出现这种情况,我也不清楚~~