Foros del Web » Programando para Internet » Javascript »

DOMContentLoad no captura evento

Estas en el tema de DOMContentLoad no captura evento en el foro de Javascript en Foros del Web. Buenas, Tengo el siguiente código que funciona correctamente y muestra la alerta: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original $ ( function ( ) { ...
  #1 (permalink)  
Antiguo 25/08/2018, 06:48
 
Fecha de Ingreso: octubre-2014
Ubicación: Lima
Mensajes: 74
Antigüedad: 9 años, 6 meses
Puntos: 1
DOMContentLoad no captura evento

Buenas,
Tengo el siguiente código que funciona correctamente y muestra la alerta:
Código Javascript:
Ver original
  1. $(function() {
  2.     ufConfigurarEventos();
  3. });
  4.  
  5. function ufConfigurarEventos() {
  6.     document.querySelector('.fa-expand').addEventListener('click', () => {
  7.         alert('maximizar');
  8.     });
  9. }

Sin embargo, al optar por no utilizar la función ready de jQuery sino el evento DOMContentLoaded para realizar la captura de eventos ya no funciona:
Código Javascript:
Ver original
  1. document.addEventListener('DOMContentLoaded', ()=> {
  2.     ufConfigurarEventos();
  3. });
  4.  
  5. function ufConfigurarEventos() {
  6.     document.querySelector('.fa-expand').addEventListener('click', () => {
  7.         alert('maximizar');
  8.     });
  9. }

Imaginé que eran equivalentes pero ya veo que no.
Por favor si me orientan ya que no debo utilizar la librería jQuery.

Gracias, saludos.
  #2 (permalink)  
Antiguo 27/08/2018, 13:20
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: DOMContentLoad no captura evento

El código sí funciona, pero solo si en el navegador web has activado el funcionamiento de JavaScript experimental, es decir, de la sintaxis y novedades que incluye el estándar Ecma-262.

Para superar tu inconveniente sin tener que cambiar la configuración del navegador, puedes optar por utilizar la versión clásica de las funciones anónimas:

Código Javascript:
Ver original
  1. document.addEventListener('DOMContentLoaded', function() {
  2.     ufConfigurarEventos();
  3. });

O, como no envías parámetros a la función, nada más necesitarás colocar el nombre de la misma:

Código Javascript:
Ver original
  1. document.addEventListener('DOMContentLoaded', ufConfigurarEventos);

__________________
«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: evento, funcion, muestra
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 22:59.