2010-07-30 31 views
0

Je dois être capable d'enregistrer des événements de clavier sur des éléments qui agissent comme des entrées de mot de passe (masquées).Comment est-ce que je pourrais émuler un champ de mot de passe de HTML (mais un qui déclenche des événements de keydown)?

Cela semble sinistre, mais je vous assure que ce n'est pas le cas. Je ne suis pas un escroc ou un escroc d'aucune sorte. Mes utilisateurs seront informés que leur comportement est analysé et sont invités à ne pas entrer un mot de passe qu'ils utilisent ailleurs.

Avec cela à l'écart, quelqu'un sait-il un moyen de capturer le clavier sur un champ de mot de passe? Le comportement par défaut est qu'aucun événement keypress, keyup ou keydown n'est déclenché lorsqu'une entrée de mot de passe a le focus. (Au moins dans Chrome, mais même cela est inacceptable pour nous.)

La seule façon que je peux penser pour le faire serait d'utiliser une entrée invisible posée sur un champ de mot de passe? Mais je ne suis même pas sûr de savoir comment je ferais ça.

Toutes les suggestions sont les bienvenues.

Répondre

2

Où avez-vous eu l'idée que Chrome ne se déclenche pas d'événements clés sur les boîtes d'entrée avec type="password"? Je dirais qu'il y a un problème avec le code que vous avez essayé.

Voici un exemple: http://jsfiddle.net/UnL8q/ - Bien qu'utilisant jQuery, jQuery ne fait que correspondre aux événements DOM.

+1

Compris. Merci pour la gifle (bien nécessaire) de la réalité! –