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
Scrivi un commento da Facebook