<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()”。 为什么是无限的?
答案 0 :(得分:0)
因为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" />