Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Problema con addEventListener

Estas en el tema de Problema con addEventListener en el foro de Javascript en Foros del Web. Hola a todos, ire al grano tengo en un documento .js el siguiente código: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original window. onload = function ...
  #1 (permalink)  
Antiguo 22/01/2015, 23:20
 
Fecha de Ingreso: diciembre-2014
Ubicación: montería
Mensajes: 33
Antigüedad: 9 años, 4 meses
Puntos: 0
Busqueda Problema con addEventListener

Hola a todos, ire al grano tengo en un documento .js el siguiente código:
Código Javascript:
Ver original
  1. window.onload = function () {
  2.     document.getElementById('txtNombre').addEventListener('keyup', function () {
  3.         /* Serie de funciones con parámetros */
  4.     }, false);
  5. }

Y en mi pagina principal el siguiente contenido:
Código HTML:
Ver original
  1. <!--Contenido-->
  2. <input type="text" id="txtNombre" name="txtNombre"/>
  3. <!--Mas Contenido-->

Lo curioso es que solo funciona en CHROME, intento crear cosas tan sencillas como:
Código Javascript:
Ver original
  1. window.onload = function () {
  2.     document.getElementById('txtNombre').addEventListener('keyup', function () {
  3.         alert('hola');
  4.     }, false);
  5. }

El resultado es lo mismo, solo funciona en Chrome, ni Firefox ni Opera reaccionan al addEventListener...

Alguna idea de que este pasando.
  #2 (permalink)  
Antiguo 23/01/2015, 00:08
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 6 meses
Puntos: 977
Respuesta: Problema con addEventListener

Lo probé en Chrome, Firefox, Opera e Internet Explorer y en todos funciona. Quizá te haga falta limpiar la caché de esos navegadores. Pulsa Ctrl + F5 y prueba.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 23/01/2015, 07:47
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 9 años, 10 meses
Puntos: 44
Respuesta: Problema con addEventListener

A mi también me funciona en todos los navegadores. Para limpiar la caché es CTRL + SHIFT + F5

Saludos
  #4 (permalink)  
Antiguo 23/01/2015, 09:57
 
Fecha de Ingreso: diciembre-2014
Ubicación: montería
Mensajes: 33
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Problema con addEventListener

Pues la situación es súper-extraña, yo tengo configurado mi navegador Firefox para que borre todo contenido en memoria local una vez cierro el mismo, puesto que realizo muchas pruebas cada vez que termino de implementar algún código; Estuve observando el código fuente desde el navegador y la referencia del javascript muestra esto:
Código Javascript:
Ver original
  1. (function () {
  2.  
  3. })();
  4.  
  5. window.onload = function () {
  6.     document.getElementById('txtNombre').addEventListener('keyup', function () {
  7.         alert('hola');
  8. //        Cargar_Persona('txtNombre');
  9.     }, false);
  10. //    document.getElementById('txtCaja').addEventListener('change', function () {
  11. //        Cargar_Caja('txtCaja', 'marco-consulta');
  12. //    }, false);
  13. //    document.getElementById('txtDebito').addEventListener('change', function () {
  14. //        Cargar_Subtotal('txtDebito', 'txtSobrecupo', 'txtDescuento', 'txtHabito');
  15. //    }, false);
  16. //    document.getElementById('txtSobrecupo').addEventListener('change', function () {
  17. //        Cargar_Precio('txtHabitacion', 'txtDebito');
  18. //    }, false);
  19. //    document.getElementById('txtDescuento').addEventListener('change', function () {
  20. //        Cargar_Precio('txtHabitacion', 'txtDebito');
  21. //    }, false);
  22. //    document.getElementById('txtRato').addEventListener('change', function () {
  23. //        Cargar_Precio('txtHabitacion', 'txtDebito');
  24. //    }, false);
  25. //    
  26. //    document.getElementById('txtHabitacion').addEventListener('change', function () {
  27. //        Cargar_Precio('txtHabitacion', 'txtDebito');
  28. //    }, false);
  29. //    document.getElementById('imgSobrecupo').addEventListener('click', function () {
  30. //        Cambiar_Sobrecupo(this, 'txtSobrecupo');
  31. //    }, false);
  32. //    document.getElementById('imgDescuento').addEventListener('click', function () {
  33. //        Cambiar_Descuento(this, 'txtDescuento');
  34. //    }, false);
  35. //    document.getElementById('imgRato').addEventListener('click', function () {
  36. //        Cambiar_Rato(this, 'txtRato');
  37. //    }, false);
  38.    
  39. };
Claro esta en busca de soluciones he desactivado una gran cantidad de codigo generado a partir de PHP. lo importante es que el documento .js contiene estas simples lineas.

«Comente provisionalmente algunas lineas, y en la primeras lineas tengo una función anónima que se auto ejecuta, provisionalmente también esta sin código pero en el existe una serie de sentencias que no es de interés para la problemática que presento.»

NO TENGO NADA EN TEMPORALES :S ¿que podrá ser?

PD: No tiene nada que ver pero por si algo uso Ubuntu 14.04 y Firefox 35.0 [... canonical 1.0]
  #5 (permalink)  
Antiguo 23/01/2015, 10:12
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 6 meses
Puntos: 977
Respuesta: Problema con addEventListener

Por lo que veo, intentas ejecutar el código una vez que el la página haya cargado y seguramente tienes al script en la cabecera del documento. Para que no te líes más, simplemente coloca todo el código JavaScript después de todos los elementos del documento y justo antes de la etiqueta </body>. El funcionamiento será el esperado.

Por cierto, GeekGirl, con Ctrl + F5 es suficiente para refrescar la caché de la página y así poder ver la versión más reciente de la misma.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #6 (permalink)  
Antiguo 23/01/2015, 13:22
 
Fecha de Ingreso: diciembre-2014
Ubicación: montería
Mensajes: 33
Antigüedad: 9 años, 4 meses
Puntos: 0
De acuerdo Respuesta: Problema con addEventListener

Cita:
Iniciado por Alexis88 Ver Mensaje
Por lo que veo, intentas ejecutar el código una vez que el la página haya cargado y seguramente tienes al script en la cabecera del documento. Para que no te líes más, simplemente coloca todo el código JavaScript después de todos los elementos del documento y justo antes de la etiqueta </body>. El funcionamiento será el esperado.
Saludos
Estabas en lo correcto es el comportamiento esperado, en realidad aunque esto me permite adelantar en mi trabajo no deja de ser un tanto triste que recurra a este tipo de trucos. me gustaría seguir la estructura, [Eventos, Funciones y Estilos] en el HEAD. Seguiré trabajando basándome en tu propuesta hasta que encuentre otra mas elegante ^_^.

Muchísimas gracias. Es curioso que no se me hubiese ocurrido una solución tan simple «Supongo que daba por hecho de que se habían cargado los eventos».
  #7 (permalink)  
Antiguo 23/01/2015, 14:20
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 6 meses
Puntos: 977
Respuesta: Problema con addEventListener

En realidad no se trata de ningún 'truco'. Incluso en el centro de aprendizaje de jQuery, enseñan a trabajar de la misma manera.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: addeventlistener, chrome, firefox, navegadores
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 19:24.