Javascript 如何验证onblur事件中的文本框?

Javascript 如何验证onblur事件中的文本框?,javascript,jquery,Javascript,Jquery,我的页面中有2个文本框,我想在onblur事件中验证文本框。但是onblur事件会持续执行这两个文本框 请检查下面的代码- 函数验证(c){ 如果(c.值=“”){ 警报(c.id+“为空”); c、 选择(); 返回false; } } 使用document.activeElement可以检查新的焦点元素是什么 例如,您可以这样做: function validate(c) { // Ignore when switching between these Inputs if

我的页面中有2个文本框,我想在onblur事件中验证文本框。但是onblur事件会持续执行这两个文本框

请检查下面的代码-

函数验证(c){
如果(c.值=“”){
警报(c.id+“为空”);
c、 选择();
返回false;
}
}

使用
document.activeElement
可以检查新的焦点元素是什么

例如,您可以这样做:

function validate(c) {
    // Ignore when switching between these Inputs
    if (document.activeElement == document.getElementById("Text1")) return
    if (document.activeElement == document.getElementById("Text2")) return
    //...

。。。我花了一些时间找到了解决方案,这里是

你说的模糊事件对每个文本输入持续运行是什么意思?如果你通过选择第二个输入来取消选择第一个输入,并且如果第一个输入根据你的功能无效,那么你实际上进入了一个“无休止的模糊循环”因为input1无效时会再次聚焦,这会导致input2上的模糊事件,然后获得聚焦,input1再次模糊。这会永远重复。@Mic1780听起来很合乎逻辑,但我无法在Firefox 42.0和Chrome 46.0.2490.86(64位)上重复这种行为。我错过了什么吗?它在Edge对我也很有用。。不,我不能遵循@Mic1780的逻辑-只有当两者同时模糊时才会发生这种情况,这是不可能发生的?好的,当你在1中单击2时,它确实会发生,但在示例中,“alert()”实际上解决了问题:D