让.focus()在jQuery 1.4.2中工作?

时间:2010-04-02 14:18:00

标签: jquery

我正在尝试在失去焦点时验证输入字段,并在验证失败时重新聚焦字段。但我似乎无法让这个领域重新聚焦。我在http://jsbin.com/ahepo/edit写了一个测试用例。它在Firefox 3.6.2和IE 8中失败,但在Chrome 4.1中工作。

2 个答案:

答案 0 :(得分:1)

我唯一想到的是:

$('#field1').focusout(function() {
  var $this = $(this);
  $this.val('not valid!');
  window.setTimeout(function(){
    $this.focus();
  },1);
});

答案 1 :(得分:0)

将调用.focus()置于超时处理程序中。这样,在“焦点”完成后发生

setTimeout(function() { $this.focus(); }, 1);