La capture de “contrôle” keydown de la conférence de presse en Javascript
Je suis à essayer de comprendre lorsque l'utilisateur appuie sur le "contrôle" de la clé dans une page HTML à l'aide de Javascript.
Dans le code suivant "CTRL" apparaîtra comme prévu, mais "CTRL en BAS" ne s'affiche que si je aussi appuyez sur une autre touche, par exemple, "shift".
<html>
<head>
<script type="text/javascript">
window.addEventListener("keyup", function(event) {
//Bind to both command (for Mac) and control (for Win/Linux)
if (event.ctrlKey) {
console.log("CTRL UP");
}
}, false);
window.addEventListener("keydown", function(event) {
//Bind to both command (for Mac) and control (for Win/Linux)
if (event.ctrlKey) {
console.log("CTRL DOWN");
}
}, false);
</script>
</head>
<body>
Ctrl Demo
</body>
</html>
Est-il possible d'obtenir la touche "CTRL BAS" de l'événement afin de fonctionner comme prévu, quand la touche ctrl est enfoncée et maintenue par lui-même?
REMARQUE: j'essaie de faire ce travail dans un Google Chrome extension, à l'aide de Chrome des Api spécifiques ou des astuces pour faire ce travail est tout à fait acceptable. Je suis en utilisant Google Chrome 15.0.874.83 bêta sur Ubuntu.
OriginalL'auteur oneself | 2011-10-18
Vous devez vous connecter pour publier un commentaire.
Votre code fonctionne pour moi, tout comme la suite de jQuery. (Chrome)
À l'aide d'alerte est un peu gênant car il bloque le processus et vous ne verrez pas l'état de la clé des changements qui se produisent lorsque la boîte de dialogue est. Je recommande d'utiliser console.info/log/debug
Ce n'est pas la bonne réponse. Voir les ci-dessous.
OriginalL'auteur Miles
Si vous voulez juste pour détecter l' Ctrl touche enfoncée sur son propre, le travail (bien garder à l'esprit que
addEventListener
n'est pas pris en charge dans IE < 9, où vous auriez besoin d'utiliserattachEvent
ouonkeydown
place):OriginalL'auteur Tim Down