L’altra sera leggevo un commento scritto da Marcello, un lettore di JuliusDesign che mi chiedeva come risolvere il Bug di Firefox riguardo la gestione della famosa chiocciola @ in Flash per un campo di input con stage impostato wmode=transparent

Succede infatti durante l’inserimento della chiocciola (@) in un campo di input gestito con la trasparenza in flash, la trasformazione del carattere nella o accentata (ò)

La prima soluzione immediata è quella di non usare la trasparenza in Flash, quindi nel nostro codice HTML eliminare i parametri riferiti al wmode=transparent

Facile Julius, ma se ho necessità di utilizzare la trasparenza in Flash come devo fare?

Non c’è una vera e propria soluzione, ma possiamo risolvere il problema con un paio di righe in Actionscript mantenendo sempre la trasparenza in flash

Andiamo a vedere l’esempio in Flash e come procedere:

Una delle soluzioni che vi consiglio è quella di usare lo stesso ActionScript utilizzando la funzione Key.getAscii(); per intercettare la pressione del tasto ò

Ecco il codice Actionscript 2:

keyPresser = new Object();
keyPresser.onChanged = function(my_text:TextField) {
if (((Key.getAscii())) == 242) {
my_text.text = my_text.text.slice(0, my_text.text.length-1)+"@";
trace("Add @");
}
};
Key.addListener(keyListener);
my_text.addListener(keyPresser);

Vediamo il codice nei dettagli:

Creo un nuovo oggetto keyPresser e dichiaro una funzione al cambiamento del contenuto referente al mio campo di input my_text

keyPresser = new Object();
keyPresser.onChanged = function(my_text:TextField) {

Inserisco una condizione con la quale verifico se è stato premuto il carattere ò in ASCII 242 e lo sostituisco con il carattere chiocciola @

if (((Key.getAscii())) == 242) {
my_text.text = my_text.text.slice(0, my_text.text.length-1)+"@";
trace("Add @");
}
};

Infine associo la funzione al mio testo con addListener

Key.addListener(keyListener);
my_text.addListener(keyPresser);

Purtroppo il comando di funzione AltGr non viene associato e ha come valore 0, per questo non si puo inserire una condizione solo sulla pressione di entrambi i tasti

Ricordiamo di incorporare i caratteri speciali come quelli di punteggiatura in cui vi è la famosa chiocciola

Ovviamente se ora la chiocciola sarà inseribile, meno lo sarà il carattere ò in quanto verrà automaticamente sostituito

Da ricordare l’inserimento della chiocciola anche con la seguente combinazione di tasti SHIFT+2

Scarica il sorgente
Guarda il Tutorial

Autore: Giuliano Ambrosio

Giuliano Ambrosio è un Web Designer Freelance di Torino che ama la grafica e sperimentare tecniche di creatività sul web. Grazie all'esperienza maturata nel campo del web design potrai scoprire i servizi disponibili, oppure guardare i suoi ultimi lavori.