1

当用户在桌面浏览器上时聚焦输入字段的最佳方法是什么?

我使用 jQuery 并设置焦点是这样完成的:

$(document).ready(function(){
    $("input").focus();
}

但是现在在移动设备(例如手机和平板电脑)上,屏幕键盘出现了。我想避免这种情况。我还想避免浏览器嗅探。有任何想法吗?

PS:获取浏览器视口不是解决方案。

4

2 回答 2

3

您可以通过检查 UserAgent 仅使用 javascript 来执行此操作,如下所示:

$(document).ready(function(){
   if( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) {
      //mobile code
   } else {
      //desktop code
      $("input").focus();
   }
}
于 2013-03-23T20:32:29.730 回答
-1

我会尝试在服务器端设置一个标志。IE 将一个类添加到您的父 div'isDesktop'然后在客户端,像这样检查它

 $(document).ready(function(){
     if($('.myParentDiv').hasClass('isDesktop')){
       $("input").focus();
}
    }

如果您无权访问服务器端,另一种方法可能是使用用户 jquery $.browser,它为您提供有关浏览器的信息。

于 2013-03-23T20:28:57.667 回答