当从 1 个文本框单击到另一个文本框时,Onblur 在循环中给出连续警报

Onblur giving continuous alert in loop when clicked from 1 textbox to another

我目前正在为所有文本框调用开启模糊功能,如下所示:

<input type="text" id="fname" onblur="myFunction()">
<input type="text" id="fname2" onblur="myFunction()">

验证提供的输入并在不匹配的情况下发出警报。我在这里面临的问题是当用户从 1 个文本框模糊并直接聚焦到另一个复选框时。警报不断出现。因为它将警报的确定点击视为文本框的模糊。 我可以使用onchange。但是 onchange 在 IE 中给我一个问题。 我在这里复制了一个示例代码:

function myFunction() {
  alert("Value Changed");
}
Enter your name:
<input type="text" id="fname" onblur="myFunction()">
<input type="text" id="fname2" onblur="myFunction()">
<p>When you leave the input field, a function is triggered which transforms the input text to upper case.</p>

不要在 blurfocus 事件中使用 alert(或其同类 confirmprompt)。他们奇怪的 1990 年焦点窃取、世界停止的行为及其与 blurfocus 事件的相互作用因浏览器而异。

使用现代机制通过 DOM 显示消息,而不是 alert

您在评论中说:

But i need to ask a confirmation from the user here...

在 DOM 中有很多方法可以做到这一点。您可以自己编写代码,也可以使用几个库中的任何一个来为您完成大量繁重的工作。