Foros del Web » Programando para Internet » Javascript »

No me funciona este script en FireFox...

Estas en el tema de No me funciona este script en FireFox... en el foro de Javascript en Foros del Web. Hola gente, Tengo un script que me funciona a la perfección en Google Chrome y Opera en sus últimas versiones... Pero en IE y FireFox ...
  #1 (permalink)  
Antiguo 28/06/2011, 23:19
Avatar de MasterXNicoX  
Fecha de Ingreso: junio-2008
Ubicación: ../Arg/SanLuis.city
Mensajes: 943
Antigüedad: 16 años, 6 meses
Puntos: 28
Pregunta No me funciona este script en FireFox...

Hola gente,

Tengo un script que me funciona a la perfección en Google Chrome y Opera en sus últimas versiones...

Pero en IE y FireFox no funciona... ¿¿Por qué puede ser??

El Script es el siguiente:

Cita:
<script>function s()
{if(event.keyCode==13)
{event.returnValue=false; div=document.getElementById('mb'); div.style.display='block'; div=document.getElementById('im'); div.style.display='none';}
}</script>
Este script hace que, cuando se presiona la tecla ENTER; el div "mb" se muestre y el div "im" se oculte...

Por alguna razón, como les comentaba anteriormente, en CHROME y OPERA funciona, pero no así en IE ni FIREFOX...

¿Qué estoy haciendo mal?

Espero que puedan ayudarme!!

Daré Karma a quien me dé una mano!!

Saludos y desde ya, GRACIAS!!
__________________
Adivino del Foro y Admirador de Sabios
  #2 (permalink)  
Antiguo 28/06/2011, 23:30
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 19 años, 1 mes
Puntos: 87
Respuesta: No me funciona este script en FireFox...

No lo ayudare... por el hecho que prometió dar karma a quien le ayude; y pues siendo yo un caballero; no quiero quitarle la oportunidad a otro usuario de adquirir tan valioso beneficio.
  #3 (permalink)  
Antiguo 28/06/2011, 23:38
Avatar de MasterXNicoX  
Fecha de Ingreso: junio-2008
Ubicación: ../Arg/SanLuis.city
Mensajes: 943
Antigüedad: 16 años, 6 meses
Puntos: 28
Respuesta: No me funciona este script en FireFox...

No lo prometí, afirmé darlo... En sí, no creo que sea algo malo dar karma si te ayudan... Creo que lo interpretaste mal colega.
__________________
Adivino del Foro y Admirador de Sabios
  #4 (permalink)  
Antiguo 29/06/2011, 00:52
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años, 1 mes
Puntos: 66
Respuesta: No me funciona este script en FireFox...

hola masterxnicox,
no sé en qué momento ejecutas tu función s(), pero de esta manera a mi me funciona en IE:
-------------------
document.onkeypress= function()
{
if(event.keyCode==13)
{
event.returnValue=false;
div=document.getElementById('mb');
div.style.display='block';
div=document.getElementById('im');
div.style.display='none';
}
}
----------------
el document.onkeypress=function () {...} es para ejecutar la funcion en cualquier pulsación de tecla.
Para que funcione en Firefox tienes que usar event.which. hay una archiconocida variable 'tecla' en javascript que define el evento keyCode según el navegador (IE o Firefox):
var tecla = (document.all) ? event.keyCode : event.which;
de esta manera solo tienes que preguntar si tecla==13 (si keycode), y así debe funcionar en Firefox.

saludos.

(a mí el Karma ese me da igual, yo solo intento ayudar y aprender también)
;)
  #5 (permalink)  
Antiguo 29/06/2011, 01:08
Avatar de MasterXNicoX  
Fecha de Ingreso: junio-2008
Ubicación: ../Arg/SanLuis.city
Mensajes: 943
Antigüedad: 16 años, 6 meses
Puntos: 28
Respuesta: No me funciona este script en FireFox...

Gracias por tu respuesta ceSharp!!!

Cita:
<script>function s()
{var key;if(window.event)key=window.event.keyCode;key=e .which;if(key==13)
{event.returnValue=false
;div=document.getElementById('mb');
div.style.display='block';
div=document.getElementById('im');
div.style.display='none';}}</script>
He probado de esta forma, y no me ha funcionado, ahora en ningún navegador...

Creo que estoy aplicando mal algo, pero no se qué...

Lo que quiero hacer, es que al apretar la tecla Enter en un campo de texto que tengo, un div se cierre y otro se muestre...

Qué dices que puede estar fallando??
__________________
Adivino del Foro y Admirador de Sabios
  #6 (permalink)  
Antiguo 29/06/2011, 01:40
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años, 1 mes
Puntos: 66
Respuesta: No me funciona este script en FireFox...

prueba con esto:
----------
<script>
function s(e)
{
var div;
var key = (document.all) ? e.keyCode : e.which;
if(key==13)
{
div=document.getElementById('mb');
div.style.display='block';
div=document.getElementById('im');
div.style.display='none';
return false;
}
}
</script>
--------------------
y en tu campo de texto, en el evento de pulsar tecla:

onkeypress="s(event);"

a ver si hay suerte...si no seguiré por aquí.

saludos.
  #7 (permalink)  
Antiguo 29/06/2011, 02:24
Avatar de MasterXNicoX  
Fecha de Ingreso: junio-2008
Ubicación: ../Arg/SanLuis.city
Mensajes: 943
Antigüedad: 16 años, 6 meses
Puntos: 28
Respuesta: No me funciona este script en FireFox...

Al final he cambiado el código compañero, sin la necesidad de ingresar la tecla enter!! Pero de todas formas agradezco infinitamente tu ayuda y buena predisposición!! Te dejo el karma prometido!!! Un abrazo grande!!
__________________
Adivino del Foro y Admirador de Sabios
  #8 (permalink)  
Antiguo 01/07/2011, 11:23
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 8 meses
Puntos: 1485
Respuesta: No me funciona este script en FireFox...

buenas,
una nota respecto a la siguiente observacion.
Cita:
Iniciado por ceSharp Ver Mensaje
Para que funcione en Firefox tienes que usar event.which. hay una archiconocida variable 'tecla' en javascript que define el evento keyCode según el navegador (IE o Firefox):
var tecla = (document.all) ? event.keyCode : event.which;
personalmente yo no usuaria esa forma de identificar la propiedad segun la existencia de la coleccion all. es decir, (document.all) ? event.keyCode : event.which;. primero porque firefox tiene un comportamiento muy peculiar respecto a estas dos propiedades en el evento keypress. algunas teclas las reconoce en la propiedad keyCode y otras en which. y segundo, me parece haber leido en el draft de html5 de una incorporacion de una interfaz que representa todos los elementos, algo parecido a la propiedad all de iexplorer. ¿como estara implementado dicha propiedad en los navegadores? no lo se. pero en caso de que sea la propiedad all, entonces la comprobacion anterior se esta asumiendo que el navegador es iexplorer u otro segun la existencia de dicha propiedad; lo cual puede resultar incorrecto para los navegadores que incorpore la interfaz con dicho token. en su lugar, yo usaria lo siguiente var tecla = event.keyCode || event.which;.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 01/07/2011, 12:07
 
Fecha de Ingreso: julio-2011
Ubicación: Zapopan, Jal. MX
Mensajes: 316
Antigüedad: 13 años, 5 meses
Puntos: 32
Respuesta: No me funciona este script en FireFox...

-En firefox debes usar which en ves de keyCode por que con keyCode te retornará "cero".

-Debes incrustar event como referencia al argumento de la función, es decir "function(event){}".

-Si estás usando un evento désde una etiqueta como "<div onkeydown=''>", debes enviar el argumento event désde la llamada de la función, es decir: "<div onkeydown='miFuncion(event)'>".
  #10 (permalink)  
Antiguo 01/07/2011, 12:28
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 8 meses
Puntos: 1485
Respuesta: No me funciona este script en FireFox...

Cita:
Iniciado por IXtremeLT Ver Mensaje
-En firefox debes usar which en ves de keyCode por que con keyCode te retornará "cero".
buenas,
prueba las diferentes teclas en firefox. al menos en firefox 4.0.1 se comporta como antes explique. http://phpscripting.awardspace.us/key.htm
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: firefox
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 06:55.