0

我正在验证模糊事件的字段。如果该字段无效,我希望焦点保持在同一字段中而不是转到下一个字段。当我$(this).focus()在模糊功能中执行此操作时,它仅适用于 Chrome,不适用于 Firefox。我尝试了 settimeout 函数,但问题是焦点转到下一个字段(#myInput2),然后又回到字段(#myInput1)。我不希望这样,因为下一个字段也会引发错误,因为它将再次模糊并且它是空的。有没有办法在 Firefox 中解决这个问题?
我的代码:

$('#myInput1').blur(function () {
    if (!validField1($(this).val())) {
        alert("Invalid");
        $(this).focus(); // Does not work in FF 
    }
});


$('#myInput2').blur(function () {
    if (!validField2($(this).val())) {
        alert("Invalid");
        $(this).focus();
    }
});
4

1 回答 1

0

我曾经问过这个问题,这些通常是浏览器功能,不会将用户锁定到一个输入框。如果他们愿意,用户应该可以选择离开,无论它是否有效。

因此,在模糊事件被禁止后聚焦相同的元素。

编辑:

似乎 chrome 浏览器允许这样的行为,但 Firefox 和 Internet Explorer 不允许。

于 2013-07-26T08:26:13.480 回答