8

est-il un moyen d'obtenir un travail .keypress sur un élément div comme ceci ?:.keypress sur un tag DIV?

<html> 
<body> 

<script type="text/javascript"> 
<!-- 

$('#idtext').keypress(function(event) { 
    var keyCode = event.keyCode; 
    $('#idtext').text(function(i, text) { 

    return text + String.fromCharCode(keyCode); 

    }); 

}); 

// --> 
</script> 

<div id="idtext"></div> 

</body> 
</html> 

Répondre

25

Oui: vous devez ajouter un attribut tabindex au <div> pour lui permettre de recevoir le focus.

<div id="idtext" tabindex="1"></div> 

En outre, la propriété que vous voulez pour le code de caractère du texte saisi dans un événement keypress est which, pas keyCode. Enfin, les balises de commentaire HTML à l'intérieur de l'élément <script> sont inutiles dans tous les navigateurs modernes.

+0

mmm ne fonctionne pas: http://jsbin.com/aqiza/2 – xRobot

+1

L'exemple est beaucoup trop compliqué pour dire que c'est ma suggestion qui ne fonctionne pas. Simplifié: http://jsbin.com/aqiza/7 –

+1

@xRobot vous avez erreur changer '$ ('# cmd span');' à '$ ('# cmd div # mytext');' voir http: // jsbin.com/aqiza/13 – jcubic