Dans mes recherches, j'ai trouvé comment détecter le capslock lorsque la touche CAPS est enfoncée. Cependant, je veux connaître l'état des capuchons même dans les cas où la clé n'est pas touchée. P>
exemple: alerte (ui.keyboard.capslock) // retournerait vrai ou faux; p>
Merci! P>
3 Réponses :
Non, vous ne pouvez pas obtenir l'état d'un bouton de clavier sur la charge de la page. Vous devez analyser un code-clés d'une clé de clé. C'est le seul moyen. P>
Comment est-ce que Google et Yahoo sont capables de le faire? Si vous regardez leurs formulaires de connexion pour le courrier, etc., ils sont capables de détecter le verrouillage des capuchons sur la charge?
Sérieusement? Pouvez-vous m'envoyer les URL? Je n'ai pas vu un message de verrouillage des capuchons sur ceux-ci, mais c'est lundi et tôt. Quelqu'un d'autre m'a dit sur ce fil que ce n'est pas possible, alors maintenant je suis très intéressé. Stackoverflow.com/Questtions/9060073/...
@Bencrowhurst ummm - Je ne le vois pas à la page Charger .. (?) Impossible de trouver quoi que ce soit sur Google, mais sur Yahoo, ils utilisent le code qui peut être non minifié ("Maxifiée"? "De-minifiée" ?) Et fait pour utiliser des noms de variables plus significatifs pour finir de manière terriblement similaire à la solution décrite sur Cette page (liée à la réponse de Mike Lewis).
Si vous êtes sur Mac et en utilisant Chrome ou Safari, vous verrez une icône qui vous permet de savoir que vous avez appuyé sur CAPSLock. Il s'agit de comportement standard pour les champs de saisie de mot de passe. Dans Firefox, cela ne fonctionne pas. C'est peut-être une chose WebKit.
Je viens de trouver une alternative qui détectera l'état des capuchons et le stockera de sorte que si la touche de verrouillage des capuchons soit enfoncée, un avertissement peut être activé et éteint. Je ne codule que pour Chrome 45+ et IE9 +, il peut donc nécessiter des ajustements d'utilisation générale si c'est votre plan.
Voici mon HTML: P>
var LOGINPAGE = LOGINPAGE || {}; LOGINPAGE.CAPSdetect = {}; $(function() { LOGINPAGE.CAPSdetect.engage(); }); LOGINPAGE.CAPSdetect.isDetected = false; LOGINPAGE.CAPSdetect.capsOn = false; LOGINPAGE.CAPSdetect.engage = function() { $('#pwd').on('keypress', LOGINPAGE.CAPSdetect.shiftDetect); $(window).on('keydown', LOGINPAGE.CAPSdetect.capsDetect); } LOGINPAGE.CAPSdetect.shiftDetect = function(event) { var caps = $('#caps'); var which = event.keyCode; var shift = event.shiftKey; var targ = event.target; if ((which >= 65 && which <= 90 && !shift) || (which >= 97 && which <= 122 && shift)) { caps.html('CAPS LOCK IS ON').css('color', 'crimson'); LOGINPAGE.CAPSdetect.isDetected = true; LOGINPAGE.CAPSdetect.capsOn = true; } else if((which >= 65 && which <= 90 && shift) || (which >= 97 && which <= 122 && !shift)){ caps.html(''); } } LOGINPAGE.CAPSdetect.capsDetect = function(event) { if(event.keyCode === 20 && LOGINPAGE.CAPSdetect.isDetected) { LOGINPAGE.CAPSdetect.capsOn = (LOGINPAGE.CAPSdetect.capsOn)? false:true; if(LOGINPAGE.CAPSdetect.capsOn) { $('#caps').html('CAPS LOCK IS ON'); } else { $('#caps').html(''); } } }
Pour autant que je puisse dire que cela s'appuie toujours sur une touche étant pressée, cela ne répond donc pas à la question de l'OP.
Non, cela ne répond pas à la question de l'OP, vous avez raison. Quelqu'un a déjà répondu avec A, "ce n'est pas possible" et aussi loin que je sache que c'est précis et donc au lieu de quitter l'OP avec une «non façon» ouverte, n'est-ce pas utile de dire: «Hey Pal, que ne peut pas arriver, mais vous pourriez essayer cela ... '? Vous trouvez évidemment cela une utilisation inadéquate de Ainsi et je voudrais sûrement savoir pourquoi voir alors que les gens viennent ici pour des solutions aux problèmes qu'ils ont, pas simplement des réponses du type «oui» ou «non». De plus, si vous avez une solution qui ne s'appuie pas sur la touche, appuyez sur la presse! Soyez productif ou ne postez pas!
Essayez ce code:
<script language="Javascript"> function capLock(e){ kc = e.keyCode?e.keyCode:e.which; sk = e.shiftKey?e.shiftKey:((kc == 16)?true:false); if(((kc >= 65 && kc <= 90) && !sk)||((kc >= 97 && kc <= 122) && sk)){ document.getElementById('divon').style.visibility = 'visible'; document.getElementById('divoff').style.visibility = 'hidden'; }else{ document.getElementById('divon').style.visibility = 'hidden'; document.getElementById('divoff').style.visibility = 'visible'; } } </script> <input type="text" name="trackcaps" onkeypress="capLock(event)" /> <div id="divon" style="visibility:hidden">Caps Lock is on.</div> <div id="divoff" style="visibility:hidden">Caps Lock is off.</div>
Solution intelligente! Ce n'est pas parfait mais je vois certainement ce que vous alliez. +1
Dupliqué possible de Comment dites-vous si CAPS LOCK est sur l'utilisation de JavaScript?
On dirait que l'affiche est satisfaite d'une solution impliquée à l'aide d'une touche Caps Press (que je ne suis pas). proche de la même chose.
Whoops j'ai complètement manqué le "même dans les cas où la clé n'est pas touchée", de même que Mike Lewis par l'apparence des choses. Doutez que cela est possible mais c'est une question différente.
Oui, je doute que c'est possible aussi. Je finirai probablement pas à devoir attendre qu'une touche soit appuyée comme tout le monde :(