2016-03-19 1 views
0

J'essaie d'obtenir le changement d'entrée exact (quel caractère et où) qui vient de la touche pour un champ de saisie en HTML5, mais je ne peux pas comprendre comment faire c'est "bien".Javascript: Obtenir quel caractère et où de la touche Appuyez

Mes résultats jusqu'à présent:

événement oninput(event) est trop haut niveau, il dit essentiellement: « quelque chose » a des changements. Je ne sais pas où et quoi exactement. La comparaison des valeurs d'origine et actuelles semble lourde pour une grande chaîne. Événement onkeypress(event) est trop bas niveau ne se soucie pas où event.which va dans le champ de saisie.

Existe-t-il un moyen d'obtenir à la fois quel caractère tapé par l'utilisateur et où exactement?

Répondre

1

C'est une question générale, mais je vais essayer de répondre de toute façon. Vous pouvez écouter l'événement onkeydown et savoir quelle touche a été enfoncée.

window.onkeydown = function(event) { 
     alert(String.fromCharCode(event.keyCode) + " was pressed"); 
    } 
}; 

Ensuite, vous pouvez obtenir la position où la touche a été enfoncée.

var cursorPosition = $('#myTextarea').prop("selectionStart"); 

Ce que vous voulez faire avec cette information de base est à vous! Vous pouvez construire un code un peu plus intelligent en plus de cela. Bonne chance!