CONSEJO: Estas usando mal los Event Listeners en Javascript !!!

  Рет қаралды 58,390

FalconMasters

FalconMasters

Күн бұрын

Пікірлер: 241
@luisfrontendvue2001
@luisfrontendvue2001 3 жыл бұрын
Tambien empece con los foreach dando listeners a cada elemente, pero despues aprendi la delegacion de eventos y es una manera elegante y optima de colocar eventos a los items que se van creando dinamicamente, buen video!
@elliotowasp4077
@elliotowasp4077 3 жыл бұрын
Más videos de estos. Excelente ejemplo para optimizar!
@christopherdallar1508
@christopherdallar1508 3 жыл бұрын
Son brutales tus videos de tips, nunca dejes de hacerlos, eres diferentes a los demás youtubers gracias a eso, Porque tu nos ayudas con tu experiencia y nos provees de exactamente maneras de mejorar y no solo con un curso y ya, sino mejorar lo que ya aprendimos
@FalconMasters
@FalconMasters 3 жыл бұрын
Muchas gracias Christopher!
@MiguelGarcia-zy1sh
@MiguelGarcia-zy1sh 3 жыл бұрын
Eres excelente, he aprendido más contigo que con cualquier profesor, gracias por todo
@FalconMasters
@FalconMasters 3 жыл бұрын
Muchas gracias!
@juliopaez9989
@juliopaez9989 Жыл бұрын
Muy bueno el video, excelente el tema de la propagación del evento. Una observación, probé armando una lista con 2 campos, Ejemplo campo1>campo2. Comprobé que funciona mal si se hace click adentro de los div internos, el click tiene que hacerse en el div de la fila.
@yoniervasquezmarin2319
@yoniervasquezmarin2319 3 жыл бұрын
Muy buen vídeo, la manera de manejar los eventos es muy excelente y me gustó la ventaja de que se detectan los clics en los nuevos nodos hijos agregados. Gracias por mostrarnos este método!.
@Hiroki_MakeGames
@Hiroki_MakeGames Жыл бұрын
Wow excelente! Muchas gracias por el vid. Me vino bárbaro como novato busco mejorar mi código , así que gracias !
@FalconMasters
@FalconMasters Жыл бұрын
Me da gusto que te sirviera
@undefined5339
@undefined5339 3 жыл бұрын
Pensé que lo estaba haciendo mal y que había una manera más optimizada de hacerlo, pero me doy cuenta de que aprendí bien y de la manera correcta:') muchas gracias!
@eljons1137
@eljons1137 Жыл бұрын
Me pasó lo mismo xD Sabía que lo estaba haciendo mal cuando ya llevaba varios listeners individuales dentro de un conjunto de elementos jajaja
@lopuma1990
@lopuma1990 2 жыл бұрын
Pedazo de vídeo muy bien explicado, tienes más así ???, Ayudan mucho
@chicocrazy220691
@chicocrazy220691 3 жыл бұрын
Había olvidado la propagación de eventos, gracias por recordarme lo. Eres genial
@edwynamador
@edwynamador 3 жыл бұрын
Faltó que mencionaras sobre removeEventListener (para los principiantes), que en ocasiones sí es un requisito, para no tener comportamientos inesperados o problemas de performance.
@osmanmazariegos4586
@osmanmazariegos4586 3 жыл бұрын
Excelente recomendación, y muy claro te felicito.
@madrigalmartinezkevinfranc1761
@madrigalmartinezkevinfranc1761 3 жыл бұрын
Excelente, no había escuchado si quiera de la delegación de eventos. De hecho me viene perfecto para optimizar un viejo script que se basa en esperar el evento load de imágenes, sabía que poner event listeners a la larga en grandes cantidades iba a ser problema. No tenía la más remota idea de que hacer en ese caso.
@maximojuniorapazachirhuana9641
@maximojuniorapazachirhuana9641 3 жыл бұрын
cuando aprendi la delegacion de eventos en js me senti dios , jajaja porque yo antes si hacia lo que mostraste al inicio del video . Buen video
@lucianoschmidt2398
@lucianoschmidt2398 3 жыл бұрын
Hermano me solucionaste la vida. No hubiera adivinado que podes asignar el evento al elemento padre ni por casualidad. Sos un genioooo
@davidticstorm4114
@davidticstorm4114 3 жыл бұрын
Excelente video... Que buena manera mencionas para realizar la delegación de los eventos ... Son de gran ayuda. Saludos
@juancarlosruiz7012
@juancarlosruiz7012 2 жыл бұрын
Primer video que veo de tu canal. Muchas gracias por el contenido, explicas todo perfecto y vas al punto! Ya me he subscrito a tu canal 😀
@FalconMasters
@FalconMasters 2 жыл бұрын
Muchas gracias!
@juliopaez9989
@juliopaez9989 Жыл бұрын
Genial tu video: totalmente funcional y útil para usarlo en mis paginas web. Gracias totales
@marcosgonzalezmarin8157
@marcosgonzalezmarin8157 3 жыл бұрын
gracias carlos arturo por compartir tu conocimiento, sin duda tus videos me han servidos ya desde hace un par de años
@pritep
@pritep 3 жыл бұрын
Excelente vídeo, no se me había ocurrido la segunda opción, lo que pense que ibas a hacer es que al crear un elemento de lista, crear con el un event listener. Pero siempre sorprendiendo :)
@FalconMasters
@FalconMasters 3 жыл бұрын
Me alegra mucho que te haya servido!
@pablowbk
@pablowbk 3 жыл бұрын
Buen consejo, sobre todo para los que stamos iniciando en la programación
@agussdk4194
@agussdk4194 3 жыл бұрын
Amigazo que buen video, en mi vida se me hubiera ocurrido, alta data, muchas gracias.
@securecodingdevelopment5023
@securecodingdevelopment5023 3 жыл бұрын
Excelente gracias! hice un menu dinámico de esta forma donde le aplique que entregase un valor data-xxx para diferenciar, pero ahora lo dejare un poco mas limpio, y para las tablas donde remapeaba el listener hare lo mismo , saludos!
@WalterPagani
@WalterPagani 3 жыл бұрын
De momento no lo voy a usar (creo). Pero siempre esta interesante cosas nuevas cosas que permitan mejorar las habilidades. Nunca hay que dejar de estudiar y aprender. Casi se me olvida. Gracias por el vídeo.
@alchemy_coder
@alchemy_coder 2 жыл бұрын
Excelente como siempre! ..y por favor, no se pierda, trate de subir videos de este estilo, cortos y directos a un asunto en especifico, son geniales! Saludos...
@edwinloaiza1017
@edwinloaiza1017 3 жыл бұрын
Carlos excelente video y metodo super facil como siempre gran aporte. muchas gracias
@lanb08
@lanb08 3 жыл бұрын
Que buen video, excelente demostración de como hacer una programación mas limpia. Muchas gracias por compartir tus conocimientos
@bitmau77
@bitmau77 2 жыл бұрын
Cuando agregas 'A' al condicional, de donde es que esta saliendo? a que esta haciendo referencia ese 'A' ? si es a la etiqueta no entiendo porque en Mayúscula? si alguien que sepa me puede ayudar agradezco de antemano ;P
@arturrojas9209
@arturrojas9209 2 жыл бұрын
Excelente! muy profesional, gracias por el aporte 💯
@jcruz30
@jcruz30 3 жыл бұрын
Excelente video, aunque esta un poco dificil cuando hay muchos elementos, por ejemplo en una tabla con tr > td > a(para editar) & a(para eliminar) ademas que cada uno tiene un icono en vez de letras por lo que cada vez que hago click me sale el elemento del icono y no del a (me sale o bien svg o path)
@FalconMasters
@FalconMasters 3 жыл бұрын
Si, este es un ejemplo sencillo, pero se puede aplicar a tablas. Le pones el listener al table y aun así todos los elementos dentro sin importar que tan profundos estén tendrán el listener. Es cosa de hacer un buen condicional.
@Cloweling
@Cloweling 3 жыл бұрын
Lo que puedes hacer, siempre agregando el evento a la tabla, agregar un attribute con inicial "data-" en el tag que quieres capturar, Ejemplo: data-row="delete" y con la condicional capturas al elemento cuando tenga ese atributo. Bueno aunque hay varias formas pero esa es la forma como se me ocurre.
@borisxd6614
@borisxd6614 3 жыл бұрын
Excelente Falcón, es un enorme placer ver tus videos...
@ftwtf
@ftwtf 3 жыл бұрын
Muy buen ejemplo!! Desconocía la propagación de eventos. Recientemente programé una sala de cine con tablas e itere los ≤td≥ para ponerles el click, eran más de 100 elementos 😂
@arromero491
@arromero491 2 жыл бұрын
Sigue con el buen trabajo, hermano, entendí todo por tu buena explicación.
@satoshi093
@satoshi093 3 жыл бұрын
Que cool. Yo también admito hago el primer caso y estaba empezando a preocupar el tema de tener tantos eventos pero con esto se me solocionaran esos temas 🤠
@rancorsz
@rancorsz 3 жыл бұрын
Excelente, forma de optimizar y bastante práctico el ejemplo, muchas gracias
@taoistagames6077
@taoistagames6077 3 жыл бұрын
hola gracias por el video, duda: event listeners o function onclick en el botón, y el motivo. saludos muchas gracias.
@williamvasquez3600
@williamvasquez3600 3 жыл бұрын
Excelente explicación Falcon como siempre, continúa haciendo lo que haces, se te da muy bien. Me ayudaste muchísimo. Saludos
@FalconMasters
@FalconMasters 3 жыл бұрын
Muchas gracias!
@TheCarloz2009
@TheCarloz2009 3 жыл бұрын
la forma de optimizar el Event Listeners es mediante la delegación de eventos al colocarle el evento al document y depuse detectar quien es el que emite el evento con la función matches, asi solo tenemos un Event Listeners en la aplicación
@ODaro-mc7nm
@ODaro-mc7nm 3 жыл бұрын
Como siempre un placer ver tus videos!!
@MiguelGomez-lk7tn
@MiguelGomez-lk7tn 2 жыл бұрын
NO se si aun leas comentarios pero tus videos son lo mejor que he visto,gracias bro
@FalconMasters
@FalconMasters 2 жыл бұрын
Aún intento leer todos los comentarios. Muchas gracias por tu comentario!
@Tylorix
@Tylorix 2 жыл бұрын
yo lo hago con un insertar elemento html y le pongo el listener, así no tengo un foreach cada que agregas un elemento, pero me gusta bastante este método, lo único es que hay que estar atento a que evento le estas dando y a que target, por el tema de que todos los que estén anidados mas el padre tienen el mismo listener por así decirlo
@GM-lh8be
@GM-lh8be 3 жыл бұрын
excelente explicación una observación so te falto explicar el e.stopPropagation() que se usa para detener la propagación de eventos a los hijos
@erikmartinez8169
@erikmartinez8169 Жыл бұрын
Épale Carlos gracias por este video tu canal parece la caja de Pandora lleno de contenidos poderosos, gracias por la información
@FalconMasters
@FalconMasters Жыл бұрын
Gracias Erik!
@erikmartinez8169
@erikmartinez8169 Жыл бұрын
@@FalconMasters todos los días aparte del curso de Javascript en udemy veo el contenido de tu canal, hermano ya me hice esa costumbre gracias por todo ese contenido
@FalconMasters
@FalconMasters Жыл бұрын
@@erikmartinez8169 Eso es genial! Muchas gracias por hacérmelo saber, y me gustaría preguntarte, ¿como te sientes con lo que has aprendido?
@erikmartinez8169
@erikmartinez8169 Жыл бұрын
@@FalconMasters totalmente satisfecho hermano de verdad agradezco el esfuerzo que haces para compartir esos conocimientos geniales sobre desarrollo web, y si ya me he hecho el hábito de ver todos los vídeos del canal. Y voy por más cursos 😁
@gabrieltenorio3517
@gabrieltenorio3517 3 жыл бұрын
He llegado a usar la segunda manera pero no de manera conciente. Ahora que entiendo cómo funciona, será más limpio mi código, ¡Gracias!
@kazza5545
@kazza5545 2 жыл бұрын
Excelente método! Por favor has más videos sobre optimización así como este, estoy haciendo mi primera app y no se nada de optimización! D:
@rigomorficooficial3827
@rigomorficooficial3827 3 жыл бұрын
Justo en un proyecto hice un menú de presupuestos me abría venido genial tu consejo jajaja
@markuswater
@markuswater 3 жыл бұрын
Muchas gracias por compartir este consejo, desde ahora lo empezaré a aplicar!!
@gerdebur
@gerdebur 3 жыл бұрын
Un video muy explicativo... gracias... se aprende mucho
@xReDCrIsTx
@xReDCrIsTx 3 жыл бұрын
Muy bueno, no lo sabia y hacía la primera opción
@igor.miranda
@igor.miranda 3 жыл бұрын
woow maestro de maestros.!! GRACIAS TOTALES.
@joserodrigolopezfuentes5607
@joserodrigolopezfuentes5607 2 жыл бұрын
Excelente. Me ayudo muchisimo :3 .
3 жыл бұрын
Existe otro problema: si haces click en el icono el tagName será "" en vez de "" y no se hará toggle de "activo". La solución es cambiar el if. La condición sería "el target es el elemento o es un elemento dentro del elemento
@heribertovelascomora8747
@heribertovelascomora8747 3 жыл бұрын
Genial muchas gracias, es muy útil esta forma de programar en javascript
@joaquinbustelo7889
@joaquinbustelo7889 2 жыл бұрын
Me encanta la forma en la que explicas
@gabriellejq27
@gabriellejq27 3 жыл бұрын
Genial. Gracias por compartir.
@rubenvalencia283
@rubenvalencia283 3 жыл бұрын
Gracias por el vídeo querido Falcon, he estado haciendo las cosas mal!
@LenRM
@LenRM 3 жыл бұрын
Cómo siempre alucinante 😘💛💛💛 #elmejor
@pabloantoniojuarezsalas
@pabloantoniojuarezsalas 3 жыл бұрын
Muchas gracias voy a incorporar este conocimiento en mi código.
@SeiFukai
@SeiFukai 3 жыл бұрын
Muchas gracias Falcon, excelente video como siempre.
@FalconMasters
@FalconMasters 3 жыл бұрын
Muchas gracias!
@CYBERKRANE
@CYBERKRANE 3 жыл бұрын
Muy buen tip, muy útil, Gracias Falcon.
@mariaeugeniacabanas841
@mariaeugeniacabanas841 3 жыл бұрын
Hola Carlos, genial, Gracias!! como siempre excelente video. Saludos
@ezequielmartinezlopez8768
@ezequielmartinezlopez8768 3 жыл бұрын
Gracias por el video, aprendi algo nuevo e interesante.
@darkl3iaX
@darkl3iaX 3 жыл бұрын
Muy genial todo wow!
@delcarmat
@delcarmat 2 жыл бұрын
gracias es muy util yo tambien usaba un for antes
@hamiltonsilesmercado5373
@hamiltonsilesmercado5373 2 жыл бұрын
Gracias, justo lo que necesito.
@edustreamimg
@edustreamimg 2 жыл бұрын
sabes si se pueden apilar varios cllick event en un solo ul? es decir que le configuro un listener en una parte de mi codigo y despues en otro lado me interesa conservar el primero y apilar un segundo.
@martinsantos718
@martinsantos718 2 жыл бұрын
Hola, tengo varios archivos js en mi proyecto. Cuando se carga un archivo se ejecutan las funciones que corresponden a la vista que se muestra, los otros que tienen el EventListener emiten un error en la consola del navegador porque no se están llamado en la vista. ¿Cómo puedo optimizarlo?
@rodriguezfregosojosueleona6743
@rodriguezfregosojosueleona6743 2 жыл бұрын
15:06 ahi tengo una duda cuando usas tagname como es que se reconoce la A como etiqueta aunque no sea en minuscula ya que entiendo que esta comparando si se esta seleccionando la etiqueta ,entonces no importa si 'A' lo mone como mayuscula ? es decir si seria lo mismo que poner e.target.tagName==='a'
@joanjoan8845
@joanjoan8845 2 жыл бұрын
Excelente! muchisimas gracias !
@oscarbattaglia9130
@oscarbattaglia9130 Жыл бұрын
Muchas gracias muy clarito! Perdón por la ignorancia, pero porque en el JS se pregunta por A mayúscula en el tagName si el tag es a minuscula en HTML?
@ramonsaavedra7904
@ramonsaavedra7904 Жыл бұрын
Hola.. Y como se haria lo de el evento que no targetee al div si el padre es div y los hijos tambien?
@minotamashiroM
@minotamashiroM 3 жыл бұрын
Excelente video muchas gracias Falcón
@davidhilera2877
@davidhilera2877 3 жыл бұрын
Excelente aporte.
@ramrmarquez
@ramrmarquez Жыл бұрын
Saludos .... Creo que esto es lo que estoy necesitando .... Se puede recuperar el id del elemento en el que yo hago click de multiples elementos igualitos pero con diferente id .... ??
@mpinovaz4014
@mpinovaz4014 6 ай бұрын
Muy buen tip, gracias.
@FateeOG
@FateeOG 3 жыл бұрын
Buen video, sigue subiendo mas videos de JS
@rikromero1
@rikromero1 3 жыл бұрын
Que copado! Gracias!!
@jesusgabrielgarciamarquez704
@jesusgabrielgarciamarquez704 10 ай бұрын
Excelente video 👍🏻
@giovannivoltaproxy
@giovannivoltaproxy 3 жыл бұрын
Muy buen contenido, la diferencia de usar arrow function vs function como segundo parametro es que con una function normal tienes que usar this para apuntar a tus var declaradas al principio y con la arrow function ya toma al objeto contexto en donde ejecutas, tengo esa duda que aprendí que con arrow function deja pasar al this de más arriba también comentan que no tiene this, gracias por el gran contenido
@henrycontal
@henrycontal 3 жыл бұрын
Las arrow function heredan el contexto del objeto global window, es por esa razón que si declaras una propiedad en window puedes acceder a ella mediante el this del contexto de una arrow function. Por otro lado, una function (la común) su contexto es la misma function, cabe resaltar que las funciones en JavaScript son también objetos.
@giovannivoltaproxy
@giovannivoltaproxy 3 жыл бұрын
@@henrycontal gracias por aclarar amigo todo : )
@digitalstablerds2498
@digitalstablerds2498 2 жыл бұрын
Muy buen video
@jkf16m96
@jkf16m96 3 жыл бұрын
Buen video, no sabia esto!!
@victorzuniga8894
@victorzuniga8894 3 жыл бұрын
Bueno para ser honesto soy muy principiante en javascript... Pero la primera forma no la conocía para nada!! Yo siempre he usado la segunda y me encanta saber que lo he estado haciendo bien! :)
@andresescobar2582
@andresescobar2582 3 жыл бұрын
¿La delegación de eventos la podría aplicar al document ? y hacer condicionales para e.target.matches o en su caso tagName ?
@2005bgva
@2005bgva 2 жыл бұрын
Excelente, muy bueno.
@Luisito_Silva
@Luisito_Silva 3 жыл бұрын
Excelente, muchas gracias.
@jaimeviloriogreen
@jaimeviloriogreen 3 жыл бұрын
Ojo que los elementos hijos no sean del mismo tipo de etiqueta del padre, es decir: . . . , ya que el tagName o nodeName es el mimo en el padre y en el hijo, y en caso de serlo, la verificación con el if debe ser más estricta usando, quizás, classList.contains(), por mencionar.
@newentu
@newentu 3 жыл бұрын
Excelente tutorial!!
@JValenteM92
@JValenteM92 3 жыл бұрын
Que bueno, no sabía esa forma, gracias por existir... Pregunta: Hay una forma de obtener todos los campos de un formulario o id y enviarlos con POST usando fecth sin estar repitiendo formulario.append(data..., value...)!
@chepevic
@chepevic 3 жыл бұрын
const enviarForm=async()=>{ const formulario=document.querySelector('#formulario'); //guardar formulario en una variable const form=new FormData(formulario); //captura todos los campos del formulario const response=await fetch('url', { method:'POST', body: form }); const data=await response.json(); or response.text(); dependiendo lo que quieras obtener... console.log(data)//ver la respuesta } enviarForm();
@Chaloquim
@Chaloquim 3 жыл бұрын
Buenísima la información!
@zvzartedigital1003
@zvzartedigital1003 2 жыл бұрын
Gracias!!!!
@jhon.bianchi
@jhon.bianchi 3 жыл бұрын
Muy buen tutorial brother
@basiliocabreja1268
@basiliocabreja1268 2 жыл бұрын
Hola, muchas gracias por tus video ya que son bien explicativos. Quisiera crear un bot para una pagina web donde debo seleccionar intervalos de horas en un dia completo dividido en intervalos de media hora por ejemplo de 12:00 am a 12:30am, 12:30am a 1:00 am y así sucesivamente. hasta llegar al intervalo de 11:30pm a 12:00m. Dentro de la página hay un botón donde hay que hacer clic para actualizar el programa dentro de la página para ver los intervalos que están disponibles en ese momento, pero esos intervalos son liberados por el sistema al azar, y no puedo estar todo el día sentado en una PC actualizando la página para tomar las horas que pueda liberar el sistema a una hora cualquiera. Así que me gustaría crear un bot donde pueda actualizar la página en ese botón cada X segundos que yo quiera y que lo haga continuamente y cuando aparezcan esos intervalos de horas disponibles, el bot de detenga de actualizar la página y tome esos intervalos que estén disponibles y pueda elegirlos todos al mismo tiempo. Quisiera saber que lenguaje de programación aprender para hacer un bot de este tipo, si Javascript, Python o cual?
@oscardelacruz1557
@oscardelacruz1557 3 жыл бұрын
Hola Carlos, estoy en estos días siguiendo tu curso de Udemy para la creación de paginas web. Tengo una pequeña duda, vale la pena aprender la parte de Jquerry?, veo muchos comentarios de que no vale la pena ya hoy en día aprenderlo y son muchos los comentarios que veo (Incluso videos, aquí en youtube). No se si es que ya ha sido desplazado o simplemente esta de moda otro, cualquiera sea el caso, me gustaría saber de parte tuya si vale la pena aun así seguir con esa parte del curso o si puedo en parte omitirla. Gracias de antemano
@mrhuevo9265
@mrhuevo9265 2 жыл бұрын
Pues te recomiendo aprenderlo, ejemplo pues estás en una empresa y te piden hacer un proyecto que lo habían hecho y tiene jquerry. Puede ser que ya no esté tanto usó pero uno nunca sabe cuándo necesito algo en específico.
@misterl8129
@misterl8129 3 жыл бұрын
buenisimo video, gracias
@dgalicia
@dgalicia 3 жыл бұрын
No lo sabía. Genial
@franzmiguelsalinas
@franzmiguelsalinas Жыл бұрын
Gracias maestro!!
@fabiojaramillo6765
@fabiojaramillo6765 3 жыл бұрын
Excelente video.
@armandoruiz9349
@armandoruiz9349 3 жыл бұрын
Muy bueno. gracias
@terryadityaildefonsochagua3710
@terryadityaildefonsochagua3710 2 жыл бұрын
Mi pregunta es si se PUEDE OBVIAR poner en el condicional: e.target porque se supone que cuando se hace CLICK, ya hay un OBJETIVO, ya hay un TARGET, eso de puede OMITIR???
@darkl3iaX
@darkl3iaX 3 жыл бұрын
WOW!!! no sabia eso del propagation O_O.
CSS Grid vs Flexbox - Cuando usar uno u otro.
22:09
FalconMasters
Рет қаралды 370 М.
Como Conectarse a una API con Javascript usando Async, Await y Fetch
42:32
Tuna 🍣 ​⁠@patrickzeinali ​⁠@ChefRush
00:48
albert_cancook
Рет қаралды 116 МЛН
Мясо вегана? 🧐 @Whatthefshow
01:01
История одного вокалиста
Рет қаралды 7 МЛН
Cómo dominar el DOM en JavaScript en 30 minutos 🌳 2024
31:29
Carlos Azaustre - Aprende JavaScript
Рет қаралды 17 М.
Así automaticé una tarea de 2 horas con Javascript.
16:59
FalconMasters
Рет қаралды 176 М.
🚀 CURSO DOM JavaScript MODERNO - PRACTICO .
3:14:50
AlexCG Design
Рет қаралды 39 М.
Learn JavaScript Event Listeners In 18 Minutes
18:03
Web Dev Simplified
Рет қаралды 601 М.
Curso JavaScript: 12. Objetos - #jonmircha
27:02
jonmircha
Рет қаралды 135 М.
Tuna 🍣 ​⁠@patrickzeinali ​⁠@ChefRush
00:48
albert_cancook
Рет қаралды 116 МЛН