Curso JavaScript: 75. DOM: stopPropagation & preventDefault -

  Рет қаралды 22,567

jonmircha

jonmircha

Күн бұрын

En este video te explico cómo detener la propagación de los eventos (#stopPropagation) y como prevenir los comportamientos por defecto (#preventDefault) en el #DOM de #JavaScript.
💛 Aprende JavaScript aprendejavascr...
📖 Mis notas sobre JavaScript jonmircha.com/...
📖 Mis notas sobre ECMAScript jonmircha.com/...
📖 Mis notas sobre JavaScript Asíncrono jonmircha.com/...
📖 Mis notas sobre JSON jonmircha.com/...
📖 Mis notas sobre el DOM jonmircha.com/dom
📦 Códigos: github.com/jon...
🔔 Suscríbete al canal kzbin.info... 🤓
👉 Visita mi sitio web jonmircha.com/ 💻
🌮 ¿Me invítas un taco? www.paypal.me/...
📫 Suscríbete a mi lista de correo tinyletter.com...

Пікірлер: 128
@sofiazapata2906
@sofiazapata2906 3 жыл бұрын
no entiendo como este curso no tiene mas de 100k de vistas, es el mejor curso de JavaScript que puede existir. Gracias Jon por todo lo que nos das !! Saludos desde Bs As Argentina
@jonmircha
@jonmircha 3 жыл бұрын
Comparte para llegar a más personas ;)
@ratasobreviviendoenlascloa4847
@ratasobreviviendoenlascloa4847 3 жыл бұрын
Es que somos arios Wey. En Argenzuela es comer o ser comido.
@levialviter2302
@levialviter2302 3 жыл бұрын
Un video de una papa durmiendo tiene más vistas que uno donde te dan tips para estudiar en Harvard. No me extraña que esto también pase.
@marcelol2387
@marcelol2387 3 жыл бұрын
@@levialviter2302 pasa el link de la papa
@mastermaster153
@mastermaster153 2 жыл бұрын
KZbin SOLO PROMUEVE LA ESTUPIDEZ
@ronnymarte4212
@ronnymarte4212 2 жыл бұрын
jaja Minuto 3:25 john cerrando la ventana de la misma forma que lo hizo en 2 videos anteriores pense que estaba repitiendo el video. Saludos para John y kenai el mejor curso de js.
@jonmircha
@jonmircha 2 жыл бұрын
😅
@EloyColirio
@EloyColirio Жыл бұрын
Cada vez mejor este curso
@jonmircha
@jonmircha Жыл бұрын
😉👋🏻
@Juicio87
@Juicio87 2 жыл бұрын
Eres el mejor profesor!
@jonmircha
@jonmircha 2 жыл бұрын
🥰🙌🏻
@hernansanabria9685
@hernansanabria9685 10 ай бұрын
sept 11 1969**Nov 16 2023 gracias excelente curso felicidades John Mircha
@jonmircha
@jonmircha 10 ай бұрын
Gracias, saludos👋🏻😉
@carlosjavierorozco8418
@carlosjavierorozco8418 Жыл бұрын
Un tema que hay que entender muy bien. Gracias me quedo bastante claro.
@jonmircha
@jonmircha Жыл бұрын
👋🏻😉
@luchogrz273
@luchogrz273 Жыл бұрын
Excelente el curso! En un momento pense que los musicos iban a entrar a tu dormitorio
@jonmircha
@jonmircha Жыл бұрын
😅
@joelleiva6952
@joelleiva6952 2 жыл бұрын
Gracias por la clase, cada vez mas cerca de los ejercicios practicos!! Voy a tratar de todas las clases compartir mis apuntes, aca les dejo los de esta clase: /*👉 Van a haber veces donde no requeramos que nuestro evento se propague hacia los elementos hijos o padres, dependiendo de la fase que estemos trabajando, y entonces solamente se ejecute una sola vez la programacion de tu funcion manejadora //*👉Tambien van a haber veces donde hay ciertos elementos del DOM que tienene comportamientos o eventos ya por defecto. Por ejemplo, pensa en el boton submit que tiene un formulario. Sin necesidad que nosotros programamemos con JS el formulario, a la hora que presionas un input de tipo submmit dentro de un formulario ese formulario se procesa //*👉 Por ejemplo cuando nosotros estamos controlando el scroll de las barras de desplazamiento, ya sea con las flechas o con la ruedita del mouse, ese es el comportamiento default que justamente tienen las teclas de arriba y abajo o de izquierda y derecha, en el caso de desplazamiento horizontal, y la rueda del mouse. Otro comportamiento por defecto seria los comportamientos que tienen los enlaces, cuando le das click a un enlace te va a llevar al contenido que tenga ese link en su propiedad href //* 👀 Pero van a haber veces que por ejemplo, mandas un formulario y en lugar de que se procese de manera convencional, vos lo que vas a hacer con JS es solicitar una peticion asincrona via AJAX y esa peticion consulta una base de datos que va a tardar. Cuando este lista la respuesta te va a responder, entonces ahi tendriamos que desactivar el comportamiento de que el formulario se procese de forma automatica //? 🤔 Entonces como podemos prevenir esa accion por defecto que tengan nuestro elementos del DOM? Facil, hay que ejectuar un metodo que esta dentro del evento en si, me refiero a: event.preventDefault(), esto lo que hace es eliminar el comportamiento que tiene nuestro elemento por default. Que en el caso de los enlaces es redirigirnos hacia la direccion que tenga dentro de su atributo href const $divsEventos = document.querySelectorAll(".eventos-flujo div"), $linkEventos = document.querySelector(".eventos-flujo a"); function flujoEventos(e) { console.log( `Hola te saluda ${this.className}, el click lo originó ${e.target.className}` ); e.stopPropagation();//👈Este metodo va a eliminar la propagacion } $divsEventos.forEach(div => { div.addEventListener("click", flujoEventos) }); $linkEventos.addEventListener("click", e => { alert("Hola soy tu amigo y docente digital... Jonathan MirCha") e.preventDefault()//👈Este metodo va a eliminar el comportamiento por defecto e.stopPropagation();//👈Este metodo va a eliminar la propagacion }) //* Al darle click al enlace, ya que esta dentro de la div 'tres', el evento se propaga y se ejecuta el evento que le asigne a la div 'tres'
@jonmircha
@jonmircha 2 жыл бұрын
😉👍🏻
@srcuyo
@srcuyo Жыл бұрын
no hace falta, es un video en el que el usuario puede pararse en cualquier punto y volver a escuchar(+ver) la explicacion perfecta del amigo y docente digital jm
@ronaldm.r
@ronaldm.r 4 жыл бұрын
yo usaba el e.preventDefault() y ni sabia que este era originario del evento en si, este curso es genial!
@Wiiiiizard
@Wiiiiizard Жыл бұрын
🧙‍♂Muchas graias, muy buen curso!!!
@jonmircha
@jonmircha Жыл бұрын
Gracias por comentar
@leonoracosta5531
@leonoracosta5531 3 жыл бұрын
Eres muy educado Jon, no solo aprendo de código en tu curso sino también tienen un poco de clase referido a lo humanístico para quién se percata! Seguiré aprendiendo, nos vemos en la línea final!
@jonmircha
@jonmircha 3 жыл бұрын
🤓🙌
@braianrico4422
@braianrico4422 3 жыл бұрын
Ayer eran 85100, ya hoy somos 85200 y poco a poco serán más y más suscriptores a tu canal. El mundo debe de conocer tu valiosa labor. Mil gracias Jon, de verdad que todo tu material es claro y bien planificado...... Bendiciones y saludos a Batman y Kenai jajaja 🧙‍♂️🧙‍♂️🧙‍♂️
@jonmircha
@jonmircha 3 жыл бұрын
😉🙌🏻🦇
@armandoWebDev
@armandoWebDev Жыл бұрын
Una alternativa al evento click es uno llamado pointerdown que pertenece a los "Pointer events". Es útil para disparar con un solo evento un handler desde en un equipo con mouse (desktop o laptop) o un dispositivo móvil.
@jonmircha
@jonmircha Жыл бұрын
👋🏻😉
@heimancastro1954
@heimancastro1954 Жыл бұрын
excelente clase maestro 😁😁😁😁
@jonmircha
@jonmircha Жыл бұрын
Hola, muchas gracias
@edgarzambrano3505
@edgarzambrano3505 2 жыл бұрын
que buena clase profe muchas gracias
@jonmircha
@jonmircha 2 жыл бұрын
Con mucho gusto
@timawid
@timawid Жыл бұрын
Estas clases ayudan muchísimo ✅ quiero llegar a los ejercicios 😊
@jonmircha
@jonmircha Жыл бұрын
Con mucho gusto👋🏻😉
@simonmontenegro181
@simonmontenegro181 7 ай бұрын
amo esta lista, hace timepo lo vipara aprender javascript y ahora 1 años despues vengo a aprender o repasar temas XD
@jonmircha
@jonmircha 7 ай бұрын
👋🏻😉
@gbarajas2971
@gbarajas2971 4 жыл бұрын
Jon mircha es el julio profe de js ❤️
@tongastonga22
@tongastonga22 9 ай бұрын
Gracias Sensei!
@jonmircha
@jonmircha 9 ай бұрын
👋🏻😉
@srcuyo
@srcuyo Жыл бұрын
vamos muy bien, a medida que se va aprendiendo va aumentando la ansiedad para poder aplicar todo en un proyecto. Gracias Jon
@jonmircha
@jonmircha Жыл бұрын
😉👋🏻
@mastermaster153
@mastermaster153 2 жыл бұрын
ESTE CURSO ES UNA JOYA!!!!!!!! MEJOR QUE OTROS DE PAGA
@jonmircha
@jonmircha 2 жыл бұрын
😉👌🏻
@Ni_idea_de_tecnologia
@Ni_idea_de_tecnologia 10 ай бұрын
Cada día me gusta más. Muchas gracias Sr. Mircha
@jonmircha
@jonmircha 10 ай бұрын
👋🏻😉
@aaronchavez7168
@aaronchavez7168 Жыл бұрын
Master class! gracias jon :)
@jonmircha
@jonmircha Жыл бұрын
😉👋🏻
@fadelsalem4172
@fadelsalem4172 2 жыл бұрын
Uno de los mas preferidos cursos. Estoy aprediendo mucho. Muchas gracias Jon!
@jonmircha
@jonmircha 2 жыл бұрын
Excelente!
@nachosanabria6942
@nachosanabria6942 2 жыл бұрын
gracias excelente video
@jonmircha
@jonmircha 2 жыл бұрын
😉👍🏻
@RobertCastilloC
@RobertCastilloC 3 жыл бұрын
stopPropagation() buen método
@jonmircha
@jonmircha 3 жыл бұрын
😉
@johnherrera5913
@johnherrera5913 2 жыл бұрын
Master! Muchas gracias por todo el material!!!
@jonmircha
@jonmircha 2 жыл бұрын
A la orden
@NickelFirepowerNico
@NickelFirepowerNico 2 жыл бұрын
Excelente, al fin llegue al 75 y voy caminando como un crack, gracias por las enseñanzas Jon querido, Muchas Bendiciones!
@jonmircha
@jonmircha 2 жыл бұрын
Felicidades!🥰🙌🏻
@leonardoprone5967
@leonardoprone5967 2 жыл бұрын
Se entendió perfecto, gracias Jon!
@jonmircha
@jonmircha 2 жыл бұрын
Excelente!
@developer1328
@developer1328 3 жыл бұрын
el preventDefault lo usaba siempre en mis formularios con Jquery, fundamental en AJAX
@jonmircha
@jonmircha 3 жыл бұрын
👌
@victormontivero1998
@victormontivero1998 3 жыл бұрын
Gran explicación, como muchos venia usando el preventDefault por copiar algunos códigos practicando formularios, pero jamás me frene en ver que significaba, ahora veo que tiene muchos más usos.
@jonmircha
@jonmircha 3 жыл бұрын
;)
@alveiroceron
@alveiroceron 3 жыл бұрын
Hasta ahora entiendo el e.preventDefault, muchas gracias, maestro... :)
@jonmircha
@jonmircha 3 жыл бұрын
😉✌🏻
@cumpaMira
@cumpaMira 2 жыл бұрын
Gracias profe! Excelente!
@mercurioazul630
@mercurioazul630 4 жыл бұрын
Me has quitado la duda de el preventDefault() gracias.
@jonmircha
@jonmircha 4 жыл бұрын
De nada :)
@cxT9344
@cxT9344 3 жыл бұрын
Cómo se continua con la acción de la etiqueta una vez hecho el preventDefault? En qué parte del mozilla developer que puede revisar?
@jonmircha
@jonmircha 3 жыл бұрын
tendrías que ejecutar manualmente con JS la redirección con location.href
@josefabianbeltranmeza6914
@josefabianbeltranmeza6914 3 жыл бұрын
Impecable como siempre Jon, muchas gracias por compartir tanto conocimiento. Dios te bendiga.
@jonmircha
@jonmircha 3 жыл бұрын
Gracias por tus bendiciones !!!
@tavospok
@tavospok 3 жыл бұрын
Muy buen contenido, Jon. Claro y al grano. Gracias de nuevo!
@jonmircha
@jonmircha 3 жыл бұрын
Gracias!
@nancynardelli5466
@nancynardelli5466 Жыл бұрын
Gracias!
@jonmircha
@jonmircha Жыл бұрын
👋🏻😉
@carlesbautista8293
@carlesbautista8293 3 жыл бұрын
Muchas gracias Jonathan, es muy interesante todo lo que nos enseñas :)
@juanmcalvino
@juanmcalvino 2 жыл бұрын
Buenas!, comentario constructivo , un antipop te ayudaria mucho en el sonido.
@jonmircha
@jonmircha 2 жыл бұрын
😉👍🏻
@elmatuamvs5204
@elmatuamvs5204 3 жыл бұрын
crackk!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@jonmircha
@jonmircha 3 жыл бұрын
🙈
@josedaniel3316
@josedaniel3316 3 жыл бұрын
Excelente video tio jon eres un crack!!!
@jonmircha
@jonmircha 3 жыл бұрын
Gracias!
@cristianfernando2951
@cristianfernando2951 3 жыл бұрын
muy buenos los videos! se aprende bastante bien
@jonmircha
@jonmircha 3 жыл бұрын
Muchas gracias!
@kikemadrigalr
@kikemadrigalr 4 жыл бұрын
Saludos Jon.. La verdad nunca había visto este tema de propagación de eventos, pero viéndolo en estos últimos vídeos me surgió una duda. La propagación de los eventos solo se da en elemento que son padres e hijos.. Cuando están al mismo nivel es decir son hermanos no se da???
@jonmircha
@jonmircha 4 жыл бұрын
Son dos flujos diferentes, si tienes 2 hermanos cada uno tiene su propia propagación :)
@facundogutierrez1132
@facundogutierrez1132 3 жыл бұрын
Hola Jon, que pasa si en la delegacion de eventos en lugar de usar el document usamos window.addEventListener? porque estaba queriendo hacer que antes de que cargue la pagina suceda algo y darle una transicion, pero con el document no lo realizaba. Me preguntaba si en otros casos como por ejemplo eventos de teclado o del mouse si seria incorrecto usar window?. saludos
@jonmircha
@jonmircha 3 жыл бұрын
Pues el window, finalmente es padre de todo, incluyendo el document, inténtalo y nos cuentas
@yovanyescobarrojas2041
@yovanyescobarrojas2041 3 жыл бұрын
calma amigo ,el siguiente video habla de la delegación de eventos vamos despacio
@DiegoMejia1310
@DiegoMejia1310 3 жыл бұрын
Me pareció curioso que puse en modo captura la función manejadora y el link que está dentro del div 3 se comportó de manera natural, es decir, me redireccionó y cabe destacar que yo estaba utilizando el preventDefault
@christianosorio9239
@christianosorio9239 3 жыл бұрын
Oye si! Que raro, si ya averiguaste el porqué agradecido de que me pases los link de donde sacaste la info o comentes tu punto de vista. Excelente observación
@gabrielcastillo1454
@gabrielcastillo1454 3 жыл бұрын
Buena observación, tienes alguna respuesta a ese comportamiento ?. Si es así, por favor compártelo.
@PROGAMERXable
@PROGAMERXable 3 жыл бұрын
@@gabrielcastillo1454 pasen su codigo pls, para verlo y encontrar el posible error
@ejop9681
@ejop9681 3 жыл бұрын
Se ejecuta de manera natural ya que el e.stopPropagation(); que esta dentro de la funcion flujoEventos no permite que continue el caption desde el div 1 al div 2 y luego al div 3, ahi se interrumpe el ciclo. Por lo tanto, nunca se entra al arrow function del $linkEventos.addEventListener donde esta el alert y el e.preventDefault()
@danielfabiani4468
@danielfabiani4468 Жыл бұрын
yyyyyyyyy..........gracias.......hasta mañana.
@jonmircha
@jonmircha Жыл бұрын
Igualmente!
@feduardohuarangaquispe168
@feduardohuarangaquispe168 Жыл бұрын
Excelente contenido!!! 👏👏. Profe, ¿puedo empezar con el curso de React en paralelo, o termino primero todo el curso de Js?, Me encuentro hasta en esta clase. 🙋‍♂️
@jonmircha
@jonmircha Жыл бұрын
Primero termina este
@nihil_um
@nihil_um 4 жыл бұрын
Yo siempre me encuentro en un problema cuando uso la delegación de eventos del padre al hijo y los hijos tienen a su vez varios hijos y quiero capturar el clic en un elemento del DOM intermedio
@jonmircha
@jonmircha 4 жыл бұрын
Ve el video de mañana, el número 76, ahí te enseñaré a lidiar con ese problema :)
@nihil_um
@nihil_um 4 жыл бұрын
@@jonmircha Espero con expectación.
@Jns67801
@Jns67801 2 жыл бұрын
Pregunta, al usar el preventDefault() en formularios como hago para que después tenga el comportamiento normal?, Osea que se envié el formulario, obvio sin quitar el preventDefault
@jonmircha
@jonmircha 2 жыл бұрын
ejecuta el metodo submit del form y listo
@davinchocamaron646
@davinchocamaron646 Жыл бұрын
Hola profe, quisiera saber en js de que sirve esa propagacion?porque existe si afecta al rendimiento y al programador no le conviene usarlo?
@jimmychan6454
@jimmychan6454 Жыл бұрын
Si, la propagación afecta al rendimiento, sirve para que al momento de ejecutar un evento este pueda ser capturado en cualquier nivel del DOM, podemos detener esa propagación en cualquier nivel del DOM.
@mundomagupe6088
@mundomagupe6088 2 жыл бұрын
Hola jhon gracias por el contenido a sido de mucha ayuda.. Tengo una pregunta, en esta fracción de código mi navegador arroja error, $linkEventos.addEventListener("click",(e)=>{ alert("Hola Mao no te rindas que esta muy cerca de ser programador"); e.preventDefault(); e.stopPropagation(); }); y no ejecuta el alert, dice que ( $linkEventos.addEventListener ) No es una función , la declare arriba como constante como usted lo hizo. const $linkEventos=document.querySelectorAll(".eventos-flujo a"); No entiendo que pasa y si me sacas de la duda estaré muy agradecido.
@danielfabiani4468
@danielfabiani4468 Жыл бұрын
Hola MundoMagupe, estoy sefuro que ya solucionaste tu problema, pero trato de ir mirando los errores de los demás para aprender mejor. Cuando declaraste la constante usaste querySelectorAll donde va querySelector. Un abrazo y espero que nos reencontremos al final del curso.
@dantepadilla1297
@dantepadilla1297 Жыл бұрын
@@danielfabiani4468 Hola bro ... sabes que me pasa lo mismo y probe con querySelectorAll y nada??? igual gracias
@matiasgomez9416
@matiasgomez9416 3 жыл бұрын
// 75. DOM: stopPropagation & preventDefault const $divsEventos = document.querySelectorAll(".eventos-flujo div"), $linkEventos = document.querySelector(".eventos-flujo a") // traeme el primer enlace function flujoEventos(e) { console.log(`Hola te saluda ${this.className}, el click lo originó ${e.target.className}`); e.stopPropagation(); // evitar la propagación } console.log($divsEventos); $divsEventos.forEach((div) => { // Fase de burbuja // div.addEventListener("click", flujoEventos); div.addEventListener("click", flujoEventos, false); // Fase de captura (Modelo inverso) // div.addEventListener("click", flujoEventos, true); // Eventos con objetos // div.addEventListener("click", flujoEventos, { // capture: true, // once: true, //evento se ejecuta una sola vez // }); }); $linkEventos.addEventListener("click", (e) => { alert("Hola soy tu amigo y docente digital... Jonathan MirCha"); e.preventDefault(); // cancelar la acción que tenga por default e.stopPropagation(); });
@nychu4
@nychu4 2 жыл бұрын
Hola gracia spor el video , yo lo que necesito es que se envie el formulario y no se recrge la pag .
@jonmircha
@jonmircha 2 жыл бұрын
Eso lo vemos en la parte de los ejercicios
@nychu4
@nychu4 2 жыл бұрын
@@jonmirchahola , si me pudieras indicar el video te lo agradecería mucho , no lo encuentro..
@eduardomegoguevara3181
@eduardomegoguevara3181 2 жыл бұрын
Escucho de fondo por el minuto 7 a 8 unas músicas de banda jajaja, tienes vecinos mariachis 😳
@jonmircha
@jonmircha 2 жыл бұрын
😅no
@elweonweandolaweafome
@elweonweandolaweafome Жыл бұрын
3:25 el desfile xdddd
@jonmircha
@jonmircha Жыл бұрын
😅
@michae301
@michae301 2 жыл бұрын
jaja jon , en ese momento habia un desfile cerca de tu casa? XD
@jonmircha
@jonmircha 2 жыл бұрын
😅
@alannm5414
@alannm5414 3 жыл бұрын
tu sitio web dice : 68,300 suscriptores y ahora tenes 80,000 jajaaj
@jonmircha
@jonmircha 3 жыл бұрын
No me ha dado tiempo de actualizarlo 🙈
Curso JavaScript: 76. DOM: Delegación de Eventos - #jonmircha
16:50
Curso JavaScript: 77. BOM: Propiedades y Eventos - #jonmircha
22:48
АЗАРТНИК 4 |СЕЗОН 3 Серия
30:50
Inter Production
Рет қаралды 940 М.
Modus males sekolah
00:14
fitrop
Рет қаралды 26 МЛН
Cómo TIPAR Componentes en React con ComponentProps
12:49
José Ángel Hdz Rda
Рет қаралды 1,1 М.
Curso JavaScript: 59. JSON - #jonmircha
29:44
jonmircha
Рет қаралды 42 М.
TESIS Universitarias en Desarrollo WEB - jonmircha
18:57
jonmircha
Рет қаралды 2,6 М.