javascript - javascript模糊焦点无限循环
问题描述
<script>
window.onload = function(){
var input = document.getElementById("test");
input.addEventListener("blur",function(){
if(confirm("confirm")){
alert("true.");
}else{
alert("false.");
input.focus();
}
});
}
</script>
我解决了它是“input.focus()”删除。但我想使用“input.focus()”。为什么是无限的?
解决方案
因为再次alert
调用后会触发模糊input.focus
。
你最好设置一个超时来避免这种情况:
window.onload = function() {
var input = document.getElementById("test");
input.addEventListener("blur", function() {
if (confirm("confirm")) {
alert("true.");
} else {
alert("false.");
setTimeout(function(){
input.focus();
}, 10)
}
});
}
<input id="test" />
推荐阅读
- r - 将 rails 变量传递给 .Rmd 文件以呈现 R 降价
- javascript - jsPDF SVG 无效的 base64 字符串
- vue.js - 如何在 element-ui 表的标题行中居中文本?
- sql - 对表执行透视操作但面临问题,因为它需要多个聚合函数将日期分成两列
- java - 重定向到同一控制器中的 POST 方法
- python - 循环以便为 Excel 文件中的每个工作表创建多个 DataFrame
- google-cloud-platform - GCP 只为一位用户分配一个实例的访问权限
- bash - 在包含逗号的字段的 bash 中创建 CSV
- python - 按名称从一个工作区移动到其他工作区窗口
- django - 带有参数的 Django Rest Framework GET 请求