Foros del Web » Programando para Internet » Javascript »

Problemas para bloquear "hotkeys" en el IE y una película de flash

Estas en el tema de Problemas para bloquear "hotkeys" en el IE y una película de flash en el foro de Javascript en Foros del Web. Hola!! Estoy en vías de desarrollar un editor de texto con flex. Actualmente tengo una película de flash que contiene únicamente una caja de texto ...
  #1 (permalink)  
Antiguo 09/05/2008, 11:22
 
Fecha de Ingreso: mayo-2008
Mensajes: 1
Antigüedad: 16 años, 6 meses
Puntos: 0
Problemas para bloquear "hotkeys" en el IE y una película de flash


Hola!!

Estoy en vías de desarrollar un editor de texto con flex. Actualmente tengo una película de flash que contiene únicamente una caja de texto para comenzar a escribir. Utilizo una librería llamada FABridge para hacer interactuar al código action script con javascript.

El caso es que deseo que cuando el usuario oprima las teclas Ctrl + B, el texto que se comience a ingresar esté en "negritas". Ya intenté bloquear las "hotkeys" del IE mediante el evento onkeydow:

function IEOnKeyDown(){
if(event.ctrlKey){ //if press ctrl
if(event.keyCode == 66){ //character "B"
var ban = 1;
var tipo_alter = "b"; //Negritas
alert("Negritas");
}

if(ban == 1){
event.returnValue = false;
event.keyCode = 0;
var flexApp = FABridge.negritas.root(); //Interacción con el AS
flexApp.alterText(tipo_alter); // Activa la función para comenzar a escribir negritas
}
}
}

Esto funciona mientras el foco de la página esté en un elemento como el <body> o un <div>. Sin embargo, cuando el foco de la página está sobre la película de flash, al presionar las teclas Ctrl + B se abre la ventana de Favoritos del explorer, justo lo que intento bloquear. Intenté asignarle la función IEOnKeyDown() al evento onkeydown del <object> donde está embedida la película de flash, pero no me funcionó.

Es justo mencionar que he buscado información sobre el evento onkeydown en action script. Puedo determinar combinación de teclas ahí, pero si éstas corresponden a las "hotkeys" del IE, éste siempre las reconoce primero. Por lo que no puedo indicarle por medio de este lenguaje que las bloqueé o que ejecute alguna otra acción. Este es el código que uso en AS:

public function onKeyDown(event:KeyboardEvent):void{
if (event.ctrlKey){
if(event.keyCode == 85)
Alert.show("Se oprimió Ctrl + U"); // La película de flash sí reconoce esta combinación de teclas y envía el alert correspondiente
else if(event.keyCode == 66){
ExternalInterface.call('IECtrl'); // Intento de interacción con el código Js para bloquear la llamada a favoritos
Alert.show("Se oprimió Ctrl + B");
}
}
}

Alguien tiene alguna idea de cómo puedo bloquear las "hotkeys" del IE usando javascript, cuando éstas son oprimidas por el usuario al escribir sobre la caja de texto de la película de flash??

Muchas gracias por su ayuda!! Esto me ha estado dando dolor de cabeza por más de dos semanas
  #2 (permalink)  
Antiguo 09/05/2008, 11:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Problemas para bloquear "hotkeys" en el IE y una película de flash

Tema trasladado a JavaScript.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:37.