Comunidad de diseño web y desarrollo en internet online

Ayuda - KeyboardEvent.KEY_DOWN no reconoce el acento.

Citar            
MensajeEscrito el 29 Dic 2010 08:18 am
Hola a todos!

Tengo un problema con "KeyboardEvent.KEY_DOWN" y es que cuando uso acentos este no salta.

Tengo un TextField con el eventListener de este modo:

Código ActionScript :

mc.addEventListener(KeyboardEvent.KEY_DOWN, teclaPresionada);


Y llama a la función teclaPresionada:

Código ActionScript :

private static function teclaPresionada(event:KeyboardEvent):void{
   trace("He presionado la tecla");
}


Si yo presiono el acento y la letra o estas no aparecen.

Después intenté otra cosa:

Código ActionScript :

mc.addEventListener(TextEvent.TEXT_INPUT, textoIntroducido);


que llama a la función textoIntroducido:

Código ActionScript :

private static function textoIntroducido(event:TextEvent):void{
   var maxChar:int = TextField(event.target).maxChars;
   if(TextField(event.target).length < maxChar){
      trace(event.target.text+event.text)
   }else{
      trace(event.target.text)
   }   
}


Pero este tiene otro problema, si por ejemplo escribo campeón el trace es el siguiente:

Código :

c
ca
cam
camp
campe
campeóó //FALLO
campeón


No se porque se me repite dos veces, además no puedo poner que si hay dos letras juntas me borre una ya que entonces la palabra por ejemplo Borrar pasaría a ser Borar.

El if que he hecho es porque al hacer el trace del event.target.text solo me da el texto anterior, entonces le sumo el texto introducido event.text.

Entonces ¿Que podría hacer con esto?, no entiendo porque no me reconoce la tecla acento.

Muchas gracias de antemano,
manu

Por sayid00

22 de clabLevel



 

Barcelona

safari
Citar            
MensajeEscrito el 30 Dic 2010 04:27 pm
lo hice y no me tiro el error q dices... me toma bien los acentos y me borra bien las letras. deprono es algo mas pero el codigo parece q esta bien

Código ActionScript :

public class  Example extends MovieClip
   {
      public function Example()
      {
         mc.addEventListener(KeyboardEvent.KEY_DOWN, teclaPresionada);
         mc.addEventListener(TextEvent.TEXT_INPUT, textoIntroducido);
      }
      private static function teclaPresionada(event:KeyboardEvent):void
      { 
         //trace("He presionado la tecla"); 
      }
      private static function textoIntroducido(event:TextEvent):void
      {
         trace(event.target.text+event.text)  
      }
   }

Por el_putas

58 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.