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();
}
    }

サーバー側にアクセスできない場合の別のアプローチは$.browser、ブラウザーに関する情報を提供するユーザーjqueryへのアクセスである可能性があります。

于 2013-03-23T20:28:57.667 に答える