検索
ホームページウェブフロントエンドjsチュートリアルJavaScript で IME キーボード入力イベントをリッスンする_javascript のヒント

入力メソッドはキーボード イベントをどのようにトリガーする必要がありますか?イベントはキーストロークごとにトリガーされますか、それとも単語の選択が完了した後にのみイベントがトリガーされますか?文全体の入力がイベントをトリガーするにはどうすればよいでしょうか?これについては、オペレーティング システムやブラウザによって見解が異なります。最悪の場合、ブラウザはユーザーが入力メソッドを使用した後に 1 回だけキーダウンをトリガーし、その後はキーボード イベントが発生しません。これは、提案コントロールの実装にとって大きな問題です。提案コントロールはテキスト入力ボックスの変更を監視する必要があり、ポーリングが使用される場合はイベントが最も正確で計算効率の高い方法であるためです。
まず、入力メソッドを有効にした後にキーストローク イベントを監視するには、キーダウン イベントを使用する必要があります。これは、入力メソッドが有効になった後は他のキーボード イベントがトリガーされない可能性があるためです。次に、ほとんどのオペレーティング システムとブラウザは事実上の標準を実装しています。つまり、ユーザーが入力メソッドを使用して入力する場合、keydown イベントで渡される keyCode 値は 229 です。ただし、キーダウンをトリガーする頻度は不確実で、キーストロークごとにイベントがトリガーされる場合もあれば、単語の選択が完了した後でのみイベントがトリガーされる場合もあります。現時点でも、テキスト ボックスの内容の変更をリアルタイムで監視したい場合は、ポーリングを使用する必要があります。

コードをコピーします コードは次のとおりです。

var timer; 229;
function keydownHandler (e) {
clearInterval(timer)
if (e.keyCode == imeKey) {
timer = setInterval(checkTextValue, 50); else {
checkTextValue ();
}
}
function checkTextValue() {
/* 入力テキストの変更を処理します */
}


Opera は楽しいですブラウザ 他の人がやっているようなことは何もせず、他の人がやらないことをするのが好きです。たとえば、事実上の標準である keyCode == 229 はサポートされていませんが、keyCode == 197 を使用して入力メソッドの使用を示します。したがって、Opera ブラウザが検出された場合は、比較用の keyCode 定数を変更する必要があります。
var imeKey = (UA.Opera == 0) ? 229 : 197;
最後に、Firefox for Mac というさらに評価の低いブラウザがあります。 Mac バージョンは Mozilla にとってあまりにも重要ではないと推定されているため、多くの Windows バージョンには問題がないのに、Mac バージョンには上記のイベントのサポートなどの小さな問題が発生する可能性があります。 Mac 版 Firefox には keyCode == 229 がなく、入力メソッドが有効になった後の最初のキーストロークのみが keydown イベントをトリガーするため、ポーリングはキーストロークの後にのみ使用できます。
if (e.keyCode == imeKey || UA.Firefox > 0 && UA.OS == 'Macintosh') {
これら 2 つの改善を追加した後、テキスト ボックスの変更をリアルタイムで監視できなくなりましたこの問題は、ユーザーが入力方式を有効にしている場合でも発生します。完全なコードは次のとおりです:


コードをコピーします コードは次のとおりです:
varタイマー;
var imeKey = (UA.Opera == 0) ? 229 : 197;
function keydownHandler (e) {
clearInterval(timer)
if (e.keyCode == imeKey || UA.Firefox > 0 && UA.OS == 'Macintosh') {
timer = setInterval(checkTextValue, 50)
} else {
checkTextValue();
function checkTextValue() {
/* 入力テキストの変更を処理します */
}

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
键盘英文大小写怎么转换键盘英文大小写怎么转换Mar 17, 2023 pm 04:58 PM

键盘转换英文大小写的方法:1、按CapsLock键,指示灯亮起即可锁定大写状态,可用于连续输入若干个大写字母;若指示灯不亮,则为小写状态,可连续输入若干个小写字母。2、按住Shift键不放,再按字母键就是大写字母,松开Shift键就变回小写。

pgup键是什么意思pgup键是什么意思Feb 20, 2023 pm 04:19 PM

“PgUp”是“PageUp”键的缩写,是指上翻页键,主要作用是向上翻页,在文本编辑环境中,按下该键可将文档向前翻一页,如果已到文档顶部,则此键将无法工作;和pgup键相对的是pgdn键,意思是向下翻页,在文字编辑环境中,按该键可将文档向后翻一页,如果已经到达了文档的底部,则此键不能工作。

键盘删除键是哪个键盘删除键是哪个Mar 16, 2023 pm 04:48 PM

键盘删除键有两个:del(delete)键和backspace键。backspace又称退格键,这个按键可以把光标前面的文本内容删除掉;而delete键可以删除字符、文件和选中对象。每按一次del键,就会删除光标右侧的一个字符,光标右侧的字符向左移动一帧;当选中一个或多个文件/文件夹时,按Del键可快速删除;在某些应用程序中选中某个对象,按Del键可快速删除选中对象。

如何解决Windows 11键盘无法输入问题如何解决Windows 11键盘无法输入问题Dec 28, 2023 pm 05:59 PM

最近有的朋友遇到了win11键盘大不了字的问题,不知道按那个键可以恢复,其实这可能是由于我们的键盘被锁定了,只需要解锁就可以了。win11键盘打不了字按哪个键恢复1、首先,我们按下键盘上面的“左shift+左alt+numlock”组合键。2、然后,打开下图所示的菜单后,点击“是”按钮启用鼠标键。3、接着,点击打开任务栏的“开始菜单”或“搜索”图标。4、之后,在上方搜索搜索框输入“osk”打开屏幕键盘应用。5、最后,点击一下屏幕键盘右下角“numlock”键即可。Ps:如果你使用的是笔记本,那么

scroll是什么按键scroll是什么按键Feb 22, 2023 pm 02:29 PM

scroll是滚动锁定键,是计算机键盘上的功能键。scroll键常用于word和Excel中,在Scroll Lock关闭的状态下,使用翻页键时,单元格选定区域会随之发生移动;但是当按下了Scroll Lock键后,就不会移动选定的单元格。

win10键盘关机快捷键win10键盘关机快捷键Dec 23, 2023 pm 07:46 PM

最近很多的小伙伴在问win10键盘的关机快捷键在什么地方,有了这个快捷键以后的确方便了不少,我们有四种方式用键盘进行关机。那么该如何找呢?其实这个很好找的,下面小编带大家一起看看吧。win10键盘关机快捷键详细教程第一种:“Alt+F4”快捷键关机1、键盘按住“Alt+F4”键,调出“关机”界面,接着按回车键,即可关机。第二种:短按电源键关机1、长按电源键属于强制关机,对硬盘容易造成损害。win10系统只需按住电源键2秒以内,即可正常关机。第三种:“Win+X”快捷键关机1、同时按win+x。2

comma是什么键comma是什么键Mar 16, 2023 am 11:59 AM

comma全称“Command”,又称苹果键(Apple key),是Mac电脑上的一个特殊键,是苹果标准键盘最后一排左起第4个键和右侧option左边的按键;它的主要功能是用来替代空格键,并让用户可以使用快捷键来操作系统。随着苹果公司新一代的Mac电脑发布,Command键也被用于控制系统功能,比如复制、粘贴、打开程序等。

键盘上的数字键盘打不出来数字是怎么回事键盘上的数字键盘打不出来数字是怎么回事Mar 17, 2023 pm 05:32 PM

原因:1、没有开启“Num Lock”键,该键的作用就是切换锁定/解锁数字键输入;按一下“Num Lock”按键,指示灯亮起即可。2、无论是PS/2接口,还是USB接口的键盘,在使用的过程中,都会存在程序错乱的可能;只需拔掉键盘的接口,重启电脑即可。3、键盘损坏,更换键盘即可。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。