Je veux autoriser une entrée telle que 1:10, mais pas 1; 10. Cependant,: et; les deux correspondent à keyCode 186, donc en utilisant keyCode pour empêcher le; clé de la saisie dans mon champ de saisie ne fonctionne pas. J'ai également fait des recherches sur l'utilisation de charCodes, mais les charCodes n'ont pas; ou: valeurs. Enfin, j'ai regardé les tables ascii. Ils ont des points-virgules et deux points. Est-il possible pour moi d'utiliser éventuellement des tables ascii pour empêcher le; clé de la saisie dans ma zone de texte, mais la: clé à autoriser? Ou y a-t-il une autre approche qui me permettra de faire cela? J'ai également pensé à détecter deux entrées clés dans une rangée, de sorte que je puisse détecter une entrée de clé de décalage, mais cela semble être une solution sale.Comment empêcher la saisie d'un point-virgule dans la saisie de texte html, mais en autorisant un deux-points?
$("input.form-1").bind({
keydown: function(e) {
if(e.which ===186) { //trying to disallow semicolons, which also disallows colons
return false;
}
}
});
essayer de vérifier le 'shiftKey' est en panne ou non –
Ils correspondent à la fois keyCode 186 sur un clavier US-International ou US-anglais. Il y a beaucoup d'autres dispositions de clavier là-bas. Ceux-ci ne fonctionneront probablement pas correctement avec cette approche. –