JavaScript(或jQuery)中是否有一个“has focus”?

9 浏览
0 Comments

JavaScript(或jQuery)中是否有一个“has focus”?

有没有办法像这样做(可能通过插件):

if ( ! $('form#contact input]').hasFocus()) {
  $('form#contact input:first]').focus();
}

基本上,将焦点设置在第一个输入框上,但只有在用户还没有点击任何内容时才这样做。

我知道这种方法也能实现,但有没有更优雅的方法?

$(function() {
  var focused = false;
  $('form#contact input]').focus(function() {
    focused = true;
  }); 
  setTimeout(function() {
    if ( ! focused) {      
      $('form#contact input:first]').focus();
    }
  }, 500);
});

0