Comme vous le savez probablement, il existe un moyen relativement simple de savoir comment, plus ou moins fiable, detect whether Caps Lock is on, en particulier lorsque l'utilisateur commence à taper dans les champs de mot de passe. Cependant, il est un fait tout à fait inconnu que IE10 prend en charge cette fonctionnalité automatiquement, sans aucun besoin de codage supplémentaire (source, direct link to screenshot et a simple demo). Donc, maintenant je suis confronté à un problème car si j'ajoute une fonctionnalité Javascript similaire, les utilisateurs d'IE10 verront deux "bulles" avec l'avertissement, l'un créé par mon script et l'autre créé par leur navigateur; Cela pourrait sembler laid ou même être confus. C'est pourquoi je cherche une solution pour savoir si le navigateur a cette fonctionnalité intégrée ou non; J'espère que cela déclenche un événement ou change une propriété, mais je n'ai rien trouvé de tel.Existe-t-il un moyen de détecter la fonctionnalité "Caps Lock is on" de IE10?
Je pourrais juste chercher Trident/6.0
dans la chaîne d'agent d'utilisateur, mais je préfère éviter la détection de navigateur; cela nécessiterait probablement aussi une certaine maintenance de code si d'autres navigateurs ajoutent une fonctionnalité similaire. S'il n'y a pas de solution fiable, je demanderai à l'équipe IE d'ajouter la possibilité de détection de "caps-lock-is-on feature" et probablement aussi les éditeurs de spécification HTML pour exiger que les vendeurs le fassent.
Il n'y a pas de norme pour exposer ce comportement par défaut. Il n'y a donc aucun moyen de tester les fonctionnalités, de sorte que la correspondance de l'agent utilisateur est la seule solution. Ou vous pouvez essayer de positionner votre bulle sous la bulle par défaut (en supposant que la bulle des navigateurs soit toujours en haut), donc elle est bloquée et non 'visible' – Gerben
@Gerben Merci pour votre commentaire. Comme il semble que votre résumé décrit respectueusement l'état actuel et les solutions possibles, n'hésitez pas à ajouter votre réponse en guise de réponse; Je vais probablement le définir comme accepté s'il n'y a pas de solution magique. – duri
La définition de l'attribut 'novalidate' sur le formulaire contenant a-t-elle un effet sur le comportement du ballon? La documentation semble suggérer que cela désactive les fonctions de validation intégrées - bien qu'il ne soit pas clair si c'est quand le formulaire est soumis ou si supprime la vérification en ligne sur les éléments ... – Fraser