重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

JavaScriptでタブレットのソフトキーボードをオフにする手法を探しています。

タブレットのOSはIOS5、Android4以降です。
ブラウザは限定していませんが、最新のものを使用する予定です。


思いつく限りのキーワードでは、調べてみたのですが、明確な手法が発見できずに質問しました。
できないならできないで回答を頂きたいと思います。よろしくお願いします。


ちなみに、下記の手法のように、フォーカス取得時に、フォーカスを外すことでキーボードを出さない方法は発見できましたが、あくまでもフォーカスがある状態でキーボードをオフにする手法を探しています。

---------------------------
$('input').focus(function(){
$(this).blur();
});
---------------------------



背景 : テキストボックスなどにフォーカスが当たると自動的に、ソフトキーボードが表示されますが、
      別の入力パネルを画面上に用意する予定なので、ソフトキーボードの表示領域が邪魔になります。

A 回答 (1件)

タブレットは知りませんので、まったくの想像での回答ですが…




基本的なブラウザの機能として、フォームの入力欄にフォーカスされればキー入力が有効になるように作られていると想像しますので、アドオンのようなものをインストールしないとダメではないでしょうか?
といっても、入力用キーボードを出さないアドオンなんて下手にいれたら…
ユーザは通常のUIを期待して(慣れて)いるので、そのようなUIがそもそも良いのかどうかという議論もありそうな気はしますが。


とりあえず、
>別の入力パネルを画面上に用意する予定なので、ソフトキーボードの
>表示領域が邪魔になります。
とのことですので、

アイデアとしてはdiv(あるいはspan)要素などを用いて、input要素を模した振る舞いをするようにスクリプトで制御してあげればキーボードは出ないと予想しますが、いかがでしょうか?
要素も入力要素を模した表示にしておけば、擬似的な入力要素として機能するでしょうし、カーソルをキャレット表示にして制御してあげればよさそう。
入力用のUIを作成されていらっしゃるようなので、それに応じた表示をするよう制御すればよろしいかと。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

確かにテキストボックスの代わりにspan等を使用すれば可能ですね。

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

お礼日時:2012/09/07 00:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!