2011-11-20 2 views
-3

J'utilise le code jquery:Quelle est la différence du clavier seul octet de caractères et clavier double octet Code caractère

$.ui.keyCode.COMMA 

ne peut capturer l'entrée seul octet de caractères, Comment peut capturer Double Byte Character également. qui peut m'aider? grâce

+2

Ce code ne capture aucun caractère. – SLaks

+0

@SLaks, Il est juste de supposer qu'il contient la valeur 'e.which' quand une virgule occidentale (' "\ x2c" ') est enfoncée dans un événement keyup/keydown. Donc vous pouvez faire 'if (e.which === $ .ui.keyCode.COMMA)' au lieu d'utiliser des nombres magiques. – Esailija

Répondre

3

",".charCodeAt(0) me donne 65292 vous pourriez alors essayez

$.ui.keyCode.DOUBLE_BYTE_COMMA = 65292; 

Pour capturer cela.

Dans le cas qui est mauvais, vous pouvez obtenir le nombre correct comme ceci:

jQuery(document).bind("keyup", function(e){ 
console.log(e.which); 
}); 

puis cliquez sur le caractère virgule chinois dans votre clavier et voir ce numéro arrive. Le numéro sera affiché dans votre console de développement web de firefox/google chrome. Ou faites simplement:

jQuery(document).bind("keyup", function(e){ 
alert(e.which); 
}); 
+0

merci, j'ai trouvé que dans l'événement de clavier, le code de caractères mono octet est 188 et le code de caractères double octet est 239 (autre DBC même), dans l'événement keyup, le code de caractères mono octet et le l'événement keydown à l'événement keyup l'a résolu! – artwl

Questions connexes