如果验证失败,我将使用jquery将焦点集中在模糊的文本框上。但是它在IE中有效,但在FF中不起作用。有什么建议?

$("#inputBoxId").blur(function () {
   if ($(this).val() < 10)
      $("#inputBoxId").focus();

});

最佳答案

看来您需要根据此question使用setTimeout。由于您要立即将焦点放在某个元素上,因此需要花费一些时间使该元素首先失去焦点。

$("#inputBoxId").blur(function() {
    if ($(this).val() < 10) {
        setTimeout(function() {
            $("#inputBoxId").focus();
        }, 100);
    }
});

它在jsfiddle上运行的示例,在chrome dev channel ,firefox和IE8上进行了测试。

10-07 17:28