Maison interface Web js tutoriel 在JavaScript中监听IME键盘输入事件_javascript技巧

在JavaScript中监听IME键盘输入事件_javascript技巧

May 16, 2016 pm 06:06 PM
键盘

输入法应当如何触发键盘事件呢?是每一下击键都触发一次事件,还是选词完毕才触发事件呢?整句输入又该如何触发事件呢?不同的操作系统和不同的浏览器对此有不同的看法。在最糟糕的情况下,用户使用输入法后浏览器就只触发一次 keydown ,之后就没有任何的键盘事件了。这对于 Suggestion 控件的实现来说是个大问题,因为 Suggestion 控件需要监听文本输入框的变化,而事件是最准确也最节省计算资源的做法,如果换成轮询的话性能就可能受到影响。
首先,要监听启用输入法后的击键事件应当使用 keydown 事件,这是信息最丰富的一个事件,因为在启用输入法后别的键盘事件可能不会被触发。其次,大多数操作系统和浏览器都实现了一个事实标准,就是在用户使用输入法输入时, keydown 事件传入的 keyCode 取值为 229 。然而触发 keydown 的频率是不确定的,有些情况下每一下击键都触发事件,有些情况下只有选词完毕才触发事件。这时候,如果我们还是要实时监控文本框的内容变化,就必须使用轮询了。

复制代码 代码如下:

var timer;
var imeKey = 229;
function keydownHandler (e) {
clearInterval(timer)
if (e.keyCode == imeKey) {
timer = setInterval(checkTextValue, 50);
} else {
checkTextValue();
}
}
function checkTextValue() {
/* handle input text change */
}

Opera 是一款有趣的浏览器,别人做的事情它都不做,别人都不做的事情它都喜欢做。例如说,它偏偏不支持 keyCode == 229 这个事实标准,而要使用 keyCode == 197 来表示输入法的使用。因此,你需要在上述代码的基础上做一下改良,如果监测到是 Opera 浏览器,就换一个 keyCode 常量来做比较。
var imeKey = (UA.Opera == 0) ? 229 : 197;
最后,还有一个更不受重视的浏览器叫做 Firefox for Mac 。估计是因为 Mac 版本对于 Mozilla 来说实在是太不重要了,所以很多 Windows 版本都没问题的地方 Mac 版本就会出小问题,例如说对上述事件的支持。 Firefox for Mac 不会出现 keyCode == 229 的情况,而且在输入法启用后只有第一下击键会触发 keydown 事件,因此只能在击键后一直使用轮询。
if (e.keyCode == imeKey || UA.Firefox > 0 && UA.OS == 'Macintosh') {
在添加了这两项改进后,实时监控文本框的变化就没有问题了,即使用户启用了输入法。完整的代码如下:
复制代码 代码如下:

var timer;
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() {
/* handle input text change */
}
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment taper souligné sur le clavier ? Comment taper uniquement souligner sans taper ? Comment taper souligné sur le clavier ? Comment taper uniquement souligner sans taper ? Feb 22, 2024 pm 07:46 PM

Ajustez la méthode de saisie sur l'anglais et maintenez la touche Maj et la touche moins enfoncées. Modèle applicable du didacticiel : Lenovo AIO520C Système : Windows 10 Édition Professionnelle : Microsoft Office Word 2022 Analyse 1 Vérifiez d'abord la saisie en chinois et en anglais de la méthode de saisie et ajustez-la en anglais. 2Maintenez ensuite enfoncées simultanément la touche Maj et la touche Moins de votre clavier. 3 Vérifiez l'interface pour voir les mots soulignés. Supplément : Comment saisir rapidement un soulignement dans un document Word 1. Si vous devez saisir un soulignement dans Word, sélectionnez l'espace avec la souris, puis sélectionnez le type de soulignement dans le menu de police pour saisir. Résumé/Remarques : assurez-vous de modifier la méthode de saisie en anglais avant de continuer, sinon le trait de soulignement ne pourra pas être saisi avec succès.

Comment ouvrir le menu contextuel via les touches de raccourci Comment ouvrir le menu contextuel via les touches de raccourci Jan 14, 2024 pm 03:12 PM

Lorsque notre souris perd temporairement sa fonction, comment utiliser les raccourcis clavier pour ouvrir le menu contextuel ? Il existe deux méthodes : l'une consiste à appuyer sur la touche de raccourci Maj+F10 pour ajuster le menu contextuel ? le raccourci clavier entre Windows et les touches du répertoire peut également être utilisé. Jetons un coup d'œil au didacticiel spécifique ci-dessous. La première méthode d'utilisation des raccourcis clavier pour ouvrir le menu contextuel : 1. Lorsqu'aucun fichier n'est sélectionné sur le bureau de l'ordinateur, appuyez sur le bouton marqué d'un cercle rouge sur le clavier dans l'image ci-dessous. Ce bouton est le bouton pour ouvrir rapidement. le menu contextuel. 2. Vous pouvez ouvrir le menu contextuel sur le bureau. Si vous devez sélectionner un élément, utilisez simplement la souris pour le sélectionner. Deuxième méthode 1. En fait, nous pouvons utiliser la touche de raccourci "Maj+F10" pour ajuster. le menu contextuel 2

Comment résoudre le problème de saisie du clavier Windows 11 Comment résoudre le problème de saisie du clavier Windows 11 Dec 28, 2023 pm 05:59 PM

Récemment, certains amis ont rencontré le problème des gros caractères sur le clavier win11. Ils ne savent pas sur quelle touche appuyer pour le restaurer. En fait, cela peut être dû au fait que notre clavier est verrouillé et qu'il suffit de le déverrouiller. Sur quelle touche dois-je appuyer pour récupérer si je ne parviens pas à taper sur le clavier Win11 ? 1. Tout d’abord, nous appuyons sur la combinaison de touches « maj gauche + alt gauche + verrouillage numérique » sur le clavier. 2. Ensuite, après avoir ouvert le menu ci-dessous, cliquez sur le bouton « Oui » pour activer les touches de la souris. 3. Ensuite, cliquez sur l'icône « Menu Démarrer » ou « Rechercher » pour ouvrir la barre des tâches. 4. Après cela, entrez « osk » dans la zone de recherche ci-dessus pour ouvrir l'application du clavier à l'écran. 5. Enfin, cliquez sur la touche « numlock » dans le coin inférieur droit du clavier à l'écran. Ps : Si vous utilisez un ordinateur portable, alors

Comment configurer la fonction de démarrage du clavier sur une carte mère GIGABYTE (activer le mode de démarrage du clavier sur la carte mère GIGABYTE) Comment configurer la fonction de démarrage du clavier sur une carte mère GIGABYTE (activer le mode de démarrage du clavier sur la carte mère GIGABYTE) Dec 31, 2023 pm 05:15 PM

Comment configurer le démarrage du clavier sur la carte mère de Gigabyte Tout d'abord, s'il doit prendre en charge le démarrage du clavier, il doit s'agir d'un clavier PS2 ! ! Les étapes de configuration sont les suivantes : Étape 1 : appuyez sur Suppr ou F2 pour entrer dans le BIOS après le démarrage, et entrez dans le mode avancé (avancé) du BIOS. Les cartes mères ordinaires entrent dans le mode EZ (facile) de la carte mère par défaut. pour appuyer sur F7 pour passer au mode avancé. Les cartes mères de la série ROG entrent dans le BIOS par défaut (nous utilisons le chinois simplifié pour démontrer) Étape 2 : Sélectionnez - [Avancé] - [Gestion avancée de l'alimentation (APM)] Étape 3 : Recherchez l'option [Réveil par le clavier PS2] Étape 4 : Cette option est désactivée par défaut. Après avoir tiré vers le bas, vous pouvez voir trois options de configuration différentes, à savoir appuyer sur [barre d'espace] pour allumer l'ordinateur, appuyer sur groupe.

Saisie automatique du clavier sur un ordinateur portable Windows Saisie automatique du clavier sur un ordinateur portable Windows Feb 19, 2024 pm 05:33 PM

Les périphériques d'entrée informatiques tels que le clavier et la souris nécessitent une intervention humaine et ne peuvent pas fonctionner de manière indépendante. Il en va de même pour le pavé tactile et le clavier des ordinateurs portables Windows. Le texte n'est pas automatiquement saisi et le clic de la souris n'est pas automatique. Si quelque chose d’inhabituel se produit, il doit y avoir une raison. Si vous rencontrez des problèmes de saisie automatique sur le clavier d'un ordinateur portable, suivez le guide pour les résoudre. Clavier sur un ordinateur portable Windows tapant automatiquement Lorsque le clavier de votre ordinateur portable Windows tape automatiquement, voici comment y remédier. Vérifiez le clavier manuellement Assurez-vous que le clavier fonctionne correctement Vérifiez si l'ordinateur portable est connecté à distance Vérifiez si des programmes de saisie automatique sont en cours d'exécution Exécutez une analyse de logiciels malveillants Ajustez les paramètres du clavier Réinstallez le pilote du clavier Nous le saurons en détail

Liste des raccourcis clavier Win11 Liste des raccourcis clavier Win11 Jan 05, 2024 pm 02:46 PM

Le système win11 dispose d'un grand nombre de raccourcis clavier intégrés qui nous permettent d'effectuer certaines opérations rapidement. Cependant, non seulement de nombreux utilisateurs ne savent pas ce que sont les raccourcis clavier Win11, mais ils ne sont pas non plus habitués à les utiliser. Par conséquent, l'éditeur vous proposera une liste complète des raccourcis clavier Win11. Apprenons-les ensemble. Quels sont les raccourcis clavier de Win11 : 1. Touche F F1 Afficher l'aide tout F2 Renommer les éléments sélectionnés tous F3 Rechercher des fichiers ou des dossiers tous F10 Activer la barre de menu dans le programme actif Tous 2. Touche Ctrl Ctrl+A Sélectionner un document ou une fenêtre Tous les éléments Tous Ctrl+C Copier les éléments sélectionnés Tous Ctrl+D Ajouter une page Web à vos favoris Tous Ctrl+J Ouvrir le gestionnaire de téléchargement Tous Ctrl+L Mettre en surbrillance

Le clavier mécanique à trois modes Maicong K87 ajoute les versions « axe jacinthe » et « axe crème glacée » : structure de joint, le prix initial commence à 299 yuans Le clavier mécanique à trois modes Maicong K87 ajoute les versions « axe jacinthe » et « axe crème glacée » : structure de joint, le prix initial commence à 299 yuans Feb 29, 2024 pm 05:00 PM

Selon les informations de ce site Web du 29 février, Maicong a lancé aujourd'hui deux versions de « Hyacinth Switch » et « Glazed Ice Cream Switch » pour le clavier mécanique à trois modes K87. Le clavier présente une « structure de joint, disposition à 80 % » et un arbre associé. claviers Les informations sur le prix sont les suivantes : Version « Hyacinth Switch » : le prix initial est de 299 yuans. Version « Liuguang Ice Cream Switch » : le prix initial est de 379 yuans. Selon les rapports, la série de claviers utilise une structure de joint, 87 touches 80. % disposition, retournement complet des touches et prise en charge thermique. Pour le branchement et le débranchement, il prétend utiliser des « touches PBT bicolores originales/MDA », utilise un PCB à fente à touche unique de 1,2 mm (position inférieure de la lampe), est équipé de RVB. Effets de lumière et dispose d'une conception de plaque signalétique à absorption magnétique. De plus, ce clavier est équipé d'une batterie de 6000 mAh et d'un délai sans fil de 3 ms. La taille officielle et la taille du clavier n'ont pas été annoncées.

Comment attribuer des boutons Copilot sur n'importe quel clavier dans Windows 11 Comment attribuer des boutons Copilot sur n'importe quel clavier dans Windows 11 Feb 20, 2024 am 10:33 AM

Les claviers d'ordinateur Windows 11 qui seront lancés dans les prochains mois disposeront d'une nouvelle touche Copilot. Cette touche permet aux utilisateurs d'entrer facilement en mode copilote en appuyant sur un bouton désigné sans mettre à niveau un nouveau PC. Ce guide détaillera comment configurer le bouton copilote sur n'importe quel clavier Windows 11. Microsoft a récemment annoncé avoir réalisé d'importants progrès dans la conduite assistée par l'intelligence artificielle. Windows 11 ajoutera une clé Copilot dédiée pour améliorer encore l'expérience des utilisateurs de PC. Ce changement matériel représente la première mise à niveau majeure des claviers PC Windows depuis trente ans. Dans les mois à venir, les nouveaux ordinateurs Windows 11 présenteront un nouveau design de touches Copilot sur le clavier

See all articles