私たちが知っているように、私たちが入力すると多くの出来事が引き起こされます。 keyup、keydown、keypressなど何か他のものを使用してください。中国語(ibus)を入力するためのJQuery/DOMイベント?
テキストフィールドの内容が変更された場合にのみ、他のイベントがトリガーされますか?存在しない場合は、この機能を実現するためのjavasrciptコードの記述方法
私たちが知っているように、私たちが入力すると多くの出来事が引き起こされます。 keyup、keydown、keypressなど何か他のものを使用してください。中国語(ibus)を入力するためのJQuery/DOMイベント?
テキストフィールドの内容が変更された場合にのみ、他のイベントがトリガーされますか?存在しない場合は、この機能を実現するためのjavasrciptコードの記述方法
私はコンテンツ編集可能要素のテキストノードがキーを押すことによって変更されたときに何が起こるかを決める簡単なフィドルを作成しました。私がそれをしていたとき、私は自分の仕事にibusを使っているので、ibusを使うときに何が起きるかを調べることにしました。私は、ibusを使用すると、生成される唯一のキーボードイベントは、役に立たないwhich
の値を持つkeyupイベントであると判断しました。
http://jsfiddle.net/lddubeau/jWnL3/
はそのフィドルに行く:ここ
は、私が作成したフィドルです。Javascriptコンソールをオンにします。
クリックして実行します。
「toto」という単語の2文字目と3文字目の間をクリックします。
ibusを使用して入力します。たとえば、「私」と入力します。
出力はお使いのブラウザによって異なります。クロム29では各キーストロークが記録されているので、tonepyメソッドを使って私とタイプすると、 "w" "o" "3"と "1"のそれぞれに対してキーアップとキーダウンが得られます。 (ピンイン、そして1を打つ音とは、最初の選択肢を選択します。)最後のイベントは次のとおりです。
event type: keyup
which: 229
keyCode: 229
charCode: 0
node value:
to我to
イベントこの1の前に、すべては、いくつかのことを除いて同じ値を持っている「のkeydown」タイプのものであり、もちろん、ノード値は最後のイベントまで "トート"を示します。
は、Firefoxの23日だけのイベントが登録されています
"event type:" "keyup"
"which:" 49
"keyCode:" 49
"charCode:" 0
"node value:" "
to我to
"
ないKeyDownイベントやキー入力イベントが生成されます。 (ASCIIの範囲内の文字を入力すると、各キーのKeyDownイベント、キー入力やからkeyupを取得。)とキーコードの
値は賢明なものに対応していないようです。私はイベントハンドラに渡されたイベントオブジェクトを調べて、ユーザが私だけをタイプしたことを示すフィールドを見ませんでした。
あなたのユースケースについてもっと詳しく教えていただけますか?おそらくそれを達成する唯一の方法は、Webベースの入力メソッドをあなた自身を提供することです。 –