• 締切済み

タブレットのキーボードをオフにする方法

JavaScriptでタブレットのソフトキーボードをオフにする手法を探しています。 タブレットのOSはIOS5、Android4以降です。 ブラウザは限定していませんが、最新のものを使用する予定です。 思いつく限りのキーワードでは、調べてみたのですが、明確な手法が発見できずに質問しました。 できないならできないで回答を頂きたいと思います。よろしくお願いします。 ちなみに、下記の手法のように、フォーカス取得時に、フォーカスを外すことでキーボードを出さない方法は発見できましたが、あくまでもフォーカスがある状態でキーボードをオフにする手法を探しています。 --------------------------- $('input').focus(function(){ $(this).blur(); }); --------------------------- 背景 : テキストボックスなどにフォーカスが当たると自動的に、ソフトキーボードが表示されますが、       別の入力パネルを画面上に用意する予定なので、ソフトキーボードの表示領域が邪魔になります。

みんなの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

タブレットは知りませんので、まったくの想像での回答ですが… 基本的なブラウザの機能として、フォームの入力欄にフォーカスされればキー入力が有効になるように作られていると想像しますので、アドオンのようなものをインストールしないとダメではないでしょうか? といっても、入力用キーボードを出さないアドオンなんて下手にいれたら… ユーザは通常のUIを期待して(慣れて)いるので、そのようなUIがそもそも良いのかどうかという議論もありそうな気はしますが。 とりあえず、 >別の入力パネルを画面上に用意する予定なので、ソフトキーボードの >表示領域が邪魔になります。 とのことですので、 アイデアとしてはdiv(あるいはspan)要素などを用いて、input要素を模した振る舞いをするようにスクリプトで制御してあげればキーボードは出ないと予想しますが、いかがでしょうか? 要素も入力要素を模した表示にしておけば、擬似的な入力要素として機能するでしょうし、カーソルをキャレット表示にして制御してあげればよさそう。 入力用のUIを作成されていらっしゃるようなので、それに応じた表示をするよう制御すればよろしいかと。

triplane26
質問者

お礼

回答ありがとうございます。 確かにテキストボックスの代わりにspan等を使用すれば可能ですね。 やはりテキストボックスのままでは出来ないものなのですかね。 回答を受けた後に、私なりに調査しているのですが、 今度はひらがなの入力パネルを用意した時に、変換機能を使用できなくて困ってしまいました。

関連するQ&A

  • フォーカスが外れたときの動作について

    お世話になります。 あるテキストフィールド(text1)をクリックした際に隠れている別のテキストフィールド(text2)を表示し、 フォーカスが外れるとtext2を再度隠すというコードを書きました。 <html> <head> <style> <!-- #text2 { display: none; } --> </style> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> <!-- $(function() { $("#text1").click(function() { $("#text2").show(); }).blur(function() { $("#text2").hide(); }); }); --> </script> </head> <body> <form> <input type="text" id="text1" value=""/> <input type="text" id="text2" value=""/> </form> </body> </html> この場合、text1をクリックしたときにtext2が表示されて、フォーカスが外れるとtext2が隠れるのは想定通りの動作なのですが、これをtext2をクリックした場合にはtext1からフォーカスが外れてもtext2を表示したままということはできるのでしょうか。 blurの中でtext2がクリックされた時みたいな検知ができれば実現できると思うのですがそのようなことってできますでしょうか。 よろしくお願いいたします。

  • Safari3にて、新しく開いたウィンドウの入力フォームにフォーカスが合いません

    はじめまして。 javascriptでフォームにフォーカスを当てる処理として、下記のfocusTextファンクションをonloadで呼び出しています。 function focusText(){ document.getElementById("toFocus").focus(); } しかし、Safari3.2.2の場合、対象のHTMLを target="_blank" にて開いた場合にフォーカスが合ってくれません。 window.opener.blur(); を挟んでもうまく行きませんでした。 Safari4や、Interner Explorer、Google Chrome、Firefox等ではうまく行っています。 OSはWindows Vistaです。 解決策をおわかりの方、ご教授いただければ幸いです。 サンプルのソースを下記に記述します。 宜しくお願い致します。 == base.html == <html> <head></head> <body> <a href="new.html" target="_self">自身のウィンドウ</a><br> <a href="new.html" target="_blank">新しいウィンドウ</a> </body> </html> == new.html == <html> <head> <script type="text/javascript"> function focusText(){ document.getElementById("toFocus").focus(); } </script> </head> <body onload="focusText();"> <form> <input type="text" id="toFocus"> </form> </body> </html>

  • スクリーンキーボード表示

    タブレットTW708CASにキングソフト、ウイルスバスターをインストール済です。キングソフトのどのソフトを起動し入力しようとしても、自動的にスクリーンキーボードが表示されません。毎回、設定→簡単設定→キーボード→スクリーンキーボードを有効しなけらばならいのですが。自動的にスクリーンキーボードが表示させる方法ありますか。 ※OKWaveより補足:「NEC 121ware :タブレット」についての質問です

  • iframeでの移動

    iframeで3段の分けたページを作りました。名前は(ue,naka,sita)としました。 ueでいろいろ入力し、nakaで入力したものを閲覧・訂正をし、sitaでページ移動のメニューを作っています。 nakaで閲覧したものを編集する画面を作ったのですが、編集後にueに戻ってほしいと考えています。 autofocusを使っているので、上画面に移動すれば希望のinputタグにフォーカスするのですが、うまく動きません。 「body onload='movebarcord;'」で読み込んでからjavascriptを動かそうとしていますが、無反応です。 <script> function movebarcord { // top.frames.ue.document.forms.touroku.barcord.focus(); // parent.frames[0].document.forms[touroku].barcord.focus(); // top.ue.document.forms[0].focus(); document.activeElement.blur(); } </script> それぞれの行を試してみましたが、どれも動いている気がしないのです。どうすればnakaで編集・閲覧をした後に、ueにフォーカスを持っていけるのか、お教えください。

  • ソフトキーボードにファンクションキーがない

    win8 IME2012にて、IMEパッドのソフトキーボードを表示使用していますが。 ファンクションキーが見つかりません。 使いたいのですが、他のソフトキーボードを使用しなければいけまんか?

  • Windows8 タブレットの操作について

    今までWindows7を使用していて、今回初めてWindows8のタブレットを購入しました。 画面がかなり変わった上、タブレットという事で操作や設定が分からない事が多く、現在慣れようとしている最中です。 そんな中、特に2点困った事が発生しましたので、もし解決方法が分かる方がいらっしゃいましたら教えて頂きたいです。 (1)アプリコマンドが出ない 特定のアプリ(IE等)で、下から上にスワイプするとアプリ独自のアプリコマンドが出ますが、ある時から全く出なくなってしまいました。 他の操作が効く事から、タブレット自体の故障とかではなさそうです。 アプリコマンドが出るようにするためにはどこの設定を変更すればよいのでしょうか? (2)キーボードが自動表示されない 検索窓などにフォーカスを移すと自動でキーボードが表示されていたのですが、これもある時から自動で表示されず、右下のタスクバーからキーボードを選ばないと表示されなくなってしまいました。 自動表示されるためにはどこの設定を変更すればよいのでしょうか? 買ってから最初の内は興味本位で色々と設定を変更したため、もしかしたら何か意図せず変更してしまったのかもしれません。 覚えている限りでは上記に関係しそうな設定は変えていないと思うのですが・・ よろしくお願いします。

  • 不必要になった要素を非表示にしたいのですが、良い方法を教えて下さい。

    こんにちは、お世話になります。 早速ですが、質問させてください。 リスト表示している要素をクリックしたら、その要素の上にフォームを表示してポストしたいと思っています。 おおよそ出来る様になったのですが、不必要になったと思われる時に、非表示にする事ができません。 フォームを表示している<div>以外の部分をクリックしたり、入力部からフォーカスが外れた時に非表示にするにはどのようにすれば良いか教えて下さい。 jQueryを使っています。firefox 3 で動けば良いと思っています。 見にくいと思いますが、以下に出来るだけ簡略化した物を貼り付けます(tabを全角スペースにしてあります)。よろしくおねがいします。 <html> <head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <title>test</title>  <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){  $('span').each(function(){   $(this).click(function(){    $('#form_box').hide();        $('#name').val($(this).html());    var offset = $(this).offset();    $('#form_box').css({'top' : offset.top , 'left' : offset.left }).show('fast',function(){$('#name').focus()});   });  })  //$('#name').blur(function(){$('#form_box').hide();}) }); function hide() {  $('#form_box').hide();  return false; } </script> <style type="text/css"> span {  cursor : pointer; } </style> </head> <body>  <ul>   <li><span>1</span>    <ul>     <li><span>1-1</span></li>    </ul>   </li>   <li><span>2</span>    <ul>     <li><span>2-1</span>      <ul>       <li><span>2-1-1</span></li>      </ul>     </li>     <li><span>2-2</span></li>    </ul>   </li>  </ul>  <div id="form_box" style="display:none;position:absolute;">   <form onsubmit="alert('送信')">    <input type="text" id="name" />    <input type="submit" value="送信" />    <button onclick="return hide();">閉じる</button>   </form>  </div> </body> </html>

  • INPUT上でリターンを押してもsubmitされない方法

    フォームにてキーワードを入力し、検索ボタン押したときに javascriptにて以下の動作をさせたいと思っています。  ・hidden項目に特定値をセットしてsubmitをかける 以下のコードを書いたのですが、INPUT上でリターンを押すと submitされてしまいます。 ボタン以外でリターンを押した場合に何も動作させないようにするにはどのようにすればよいのでしょうか? -------------------------------------------------------------- <SCRIPT language="JavaScript"> <!-- function javasc_name(param){ document.form.PARAM.value = param document.form.submit() } //--> </SCRIPT> <form method="POST" action="cgi-bin/xxx.exe"> <input type="text" name="KEYWORD"> <input type="hidden" name="PARAM"> <input type="button" value="検索" OnClick="javasc_name(10)"> </form> --------------------------------------------------------------

    • ベストアンサー
    • HTML
  • 複数HTMLを1つの別ウィンドウで表示

    javascriptについて質問です。 1HTMLから別ウィンドウ表示したいリンクが複数あります。 クライアントからクリックの度にウィンドウが新たに開かないようにして欲しいとの 依頼があり、下記のjavascriptでウィンドウ名「subwindow」に上書き表示されるようにしました。 ■javascript■ <!-- function subWins(pages){ w=window.open(pages,"subwindow",""); w.focus(); } //--> ■HTML■ <a href="javascript:;"onClick="subWins('リンク先URL')">●●●●●</a> 上記の場合、javascriptをOFFにしているとリンクが効きません。 javascriptをOFFにしていてもウィンドウが開く方法はないでしょうか。 説明不足でしたら補足させていただきます。どうぞ宜しくお願い致します。

  • onとoffを画像でチェンジ、チェックボックスと連動させる

    下記は画像をクリックした際に、onとoffに変更し、かつチェックボックスのvalueの値を変更しておりますが、 例えば、A、B、C、D4個のボタンを準備し、それぞれにonとoffの画像を準備し割り当て、それぞれが、単独で、onとoffができるようにしたいのですが、どなたかご教授願います。 これは、1個のボタンを2枚の画像でオンとオフを切り替えていますが、4個のボタンでそれぞれのボタンのオンとオフの画像を準備して、それぞれのボタンのvalue値を変えたいというのがやりたい内容です。 <script type="text/javascript"> function sample(Img,name){ var onImg = 'on.gif'; var offImg = 'off.gif'; var Input = document.getElementsByName(name)[0]; if(Input.value){ Input.value = ''; Img.src = offImg; }else{ Input.value = 'on'; Img.src = onImg; } } </script> <img src="off.gif" alt="" width="" height="" onclick="sample(this,'CBOX1')"> <input type="hidden" name="CBOX1">