
テキストボックスがあり、そこに入力された文字列をキー入力の度に
取得し、その文字列をキーにDBを検索し結果を表示するシステムを
作成しています。ただし日本語入力に関しては変換中は無視して確定時に
DBの検索を行う仕様です。
JQueryのkeydownとkeyupイベントを利用してPCでは実現しています。
ただ、スマホ(Androidやiphone)だと、日本語入力の時に予測変換候補
みたいなのが表示されて、それを選んで入力を進める事が多いと思いますが、
この予測変換候補を選んでもkeydownもkeyupもkeypressもイベントが
発生しないようなので、随時入力文字列を取得する事ができません。
そこで、keydownやkeyupイベントではなくて、タイマーで一定間隔で
テキストボックスの入力文字を取得する事も試してみましたが、この
場合だと日本語変換途中も文字も取得できてしまい、さらに日本語変換中
かどうかの情報が得られないので、変換中は無視という要件が満たせません。
keydownもkeyupもkeypressも発生しないので、どうしようもなさそうな
気はしていますが、ダメ元で、何か良い方法がないかお知恵を借りたく
投稿させてもらいます。宜しくお願いします。
No.2ベストアンサー
- 回答日時:
こんにちは。
では、テキストボックスにフォーカスされている場合、
ウィンドウのどこを押してもvalを取得するというふうに変えてもダメですかね?
$(function(){
$("input:text").on("focus", function(){
$(window).on("click blur keydown keyup keypress change touchstart", function(){
var new_val = $("input:text").val();
$(".text").text(new_val);
});
});
});
さっきご飯食べながらだったので、
今ちょっと、作ってみました。
テキストエリアのリアルタイム取得で下のテキスト<p>に反映するみたいなのを。
私のアンドロイド5.1.1は大丈夫だったんですけど、iosは自信ないです。
なるほど、windowのどこを押しても反応する作りですか。
この方法を基に改良して作りこんでみたいと思います。
ご親切にお付き合い頂き大変感謝しています。ありがとうございました。
No.1
- 回答日時:
こんにちは。
キー入力のたびにとのことなので、必要なイベントを全て突っ込んで仕舞えばよいと思います。
例
$(function(){
$("input:text").on("click blur keydown keyup keypress change touchstart", function(){
var anchor_text = $("input:text").val();
//取得したのを結果に出すスクリプトを書く
});
});
多分、今回はこの中の.change()あたりが必要だったんじゃないかなあと思います。
フォーカスされたテキストボックスの中身が変わったら、こうするする、というイベントなので予測変換選択後にテキストが変われば取得してくれる気がします。
試してないけど。
頑張ってください。
ご回答ありがとうございます。
試してみましたが、changeイベントだと、
テキストボックスからフォーカスが離れないと
発火しないようです。まだandroidしか試して
いませんが、andoroidだと予測変換候補の選択だと
ご提示頂いたイベント全て発火しませんでした。かなり厄介です・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(パソコン・周辺機器) WINDOWS11 IMEの日本語入力で困っています 4 2023/04/29 19:24
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- その他(IT・Webサービス) Google日本語入力の操作方法 一度確定した後の訂正方法 1 2023/06/17 16:03
- 中国語 新しい中国語入力ソフトを発明しました 22 2023/02/06 07:13
- Android(アンドロイド) スマホの日本語入力の選択肢を変えるには 4 2023/07/29 19:07
- その他(スマートフォン・携帯電話・VR) PCやスマホで文字入力をする際、今日の日付と今の時間を一発で入力する方法はありませんか。入力する媒体 2 2023/08/15 22:48
- Android(アンドロイド) Android携帯のキーボード入力で時間入力を簡単にしたい 1 2023/05/17 02:13
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Excel(エクセル) セルに入力した小文字アルファベット、数字を大文字表示させるには? 3 2022/07/13 10:01
- Word(ワード) Windows11キーボードの調子が悪いので治し方を教えてください。 【症状】 1つ目 キーボードの 5 2022/07/03 14:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javaで質問です。 文字列2023/2...
-
ダブルクォーテーションのrepla...
-
半角カタカナをローマ字変換す...
-
C言語32bitから64bitの移行につ...
-
COBOLで半角カナを全角カナに変換
-
javaの初歩的な質問です。
-
あるディレクトリにある複数の...
-
JAVAでのShift-JISとEUC-JP間の...
-
エクセルVBAで「〜」が表現でき...
-
文字コードを相互変換するには...
-
複数の画像からランダム抽出し...
-
javaの文字コード変換表はどこ...
-
VC++にてCString型のフルパスを...
-
文字列の比較
-
カタカナをローマジに変換する。
-
JSPやサーブレットでSystem.out...
-
ループ処理の際、最後だけ","を...
-
プログラミングの問題です。大...
-
Javaで改行などが出来ないのです。
-
System.err. printlnとSystem.o...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javaで質問です。 文字列2023/2...
-
ダブルクォーテーションのrepla...
-
javascriptで文字列のsjis利用...
-
javaの初歩的な質問です。
-
Visual Basic でのコードをASCI...
-
JavaのStringクラスに「外字」...
-
Path型をString型へ変換する(Java)
-
エクセルVBAで「〜」が表現でき...
-
int型のゼロ埋め
-
JAVAでのShift-JISとEUC-JP間の...
-
C言語32bitから64bitの移行につ...
-
UTF-8とUnicodeの互換性
-
文字列の比較
-
COBOLで半角カナを全角カナに変換
-
substring バイト単位でやりたい
-
Windows-31Jからutf-8への変換...
-
カタカナをローマジに変換する。
-
[Javascript]エンターキー押下...
-
byte型のマイナスの扱いについて
-
文字化け対策について
おすすめ情報