ActionScript 3.0, l'essentiel sous la main Adobe Flash Accueil
Fiches
Boutique
Contact
Le @ qui ne marche plus dans le champs de saisie
Si vous utilisez des champs de texte dynamique, pour un formulaire par exemple, vous pouvez rencontrez un bug assez surprennant sur FireFox : la touche @ (AltGr+0) n'est plus reconnu. Il semblerai que depuis Flash CS5, si vous utilisez le code d'insertion du SWF généré par Flash lorsque vous exportez votre application avec le fichier HTML, le bug n'apparaisse plus.

Mais si c'est encore le cas, voici les solutions que j'utilise :
//Imports
import flash.events.KeyboardEvent;
import flash.system.Capabilities;

var usedKey:Array = new Array(); //Sauvegarde des pressions sur les touches du clavier par l'internaute
var sLang:String = Capabilities.language.substr(0,2); //Langue du clavier

//Enregistre les touches sur lesquelles l'internaute appuis
function save_usedKey(e:KeyboardEvent):void
{
usedKey.push(e.keyCode);
if(sLang == "fr")
{
if((usedKey[usedKey.length-1] == "48") && (usedKey[usedKey.length-2] == "17"))
{
var txt = email.text;
email.text = txt+"@";
}
}
}
email.addEventListener(KeyboardEvent.KEY_DOWN, save_usedKey); //S'applique pour le champs de saisie "email"

Ici, on enregistre dans un tableau toutes les touches sur lesquelles appuis l'internaute. Pour détecter les pressions des touches "AltGr" et "0", on cherche les KeyCode "48" et "17". Ainsi, si on reçoit ces deux KeyCode l'un derrière l'autre, c'est que l'internaute a fais la combinaison AltGr+0 et qu'il cherche donc à afficher un @.
Commentaire(s)
Aucun.