Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

155
Visualizações
jquery: event.stopImmediatePropagation () frente a devolver falso

¿Hay alguna diferencia entre llamar a event.stopImmediatePropagation() y return false dentro de un controlador de eventos?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Sí, son diferentes.

return false es básicamente lo mismo que llamar a event.stopPropagation() y event.preventDefault() .

Mientras que event.stopImmediatePropagation() es lo mismo que event.stopPropagation() además de evitar que se ejecuten otros controladores de eventos registrados en el mismo elemento. Por lo tanto, no impide la acción predeterminada para un evento, como seguir un enlace en el que se hizo clic.

En breve:

 stop | prevent | prevent "same element" bubbling | default action | event handlers return false Yes Yes No preventDefault No Yes No stopPropagation Yes No No stopImmediatePropagation Yes No Yes

return false también funciona en controladores de eventos de JavaScript "normales"

event.stopPropagation() y event.preventDefault() también funcionan en controladores de eventos de JavaScript "normales" (en un navegador compatible con W3C), mientras que event.stopImmediatePropagation() es una extensión de jQuery ( actualización: aparentemente es parte del nivel DOM 3 Especificación de eventos ).

Nota: return false no evita que el evento aparezca en los controladores de eventos "normales" (no jQuery) (consulte esta respuesta ) (pero aún evita la acción predeterminada).


Tal vez valga la pena leer:

  • Eventos de jQuery: detener (mal) uso de Return False
  • quirksmode.org - Orden de eventos
over 4 years ago · Santiago Trujillo Relatório

0

Devolver false detendrá el burbujeo de eventos, pero se activarán otros eventos enlazados. Sin embargo stopImmediatePropagation evita que se activen otros eventos vinculados y deja de burbujear.

Ejemplo de código de esto en jsfiddle .

over 4 years ago · Santiago Trujillo Relatório

0

Aquí está la demostración completa de return false , preventDefault , stopPropagation y stopImmediatePropagation :

 var kid = document.getElementsByTagName('button')[0]; var dad = document.getElementsByTagName('div')[0]; kid.addEventListener('click', function(e) { console.log('kid here'); e.stopImmediatePropagation(); }); kid.addEventListener('click', function(e) { console.log('neighbour kid here'); }); dad.addEventListener('click', function(e) { console.log('dad here'); }); dad.addEventListener('click', function(e) { console.log('neighbour dad here'); });
 <div> <button>press</button> </div>

(También disponible en JSFiddle ).

La tabla en la respuesta de manwal no es completamente correcta.

 stop | prevent | prevent bubbling | default action | event handlers | | Same Element | Parent Element return false Yes Yes No No preventDefault No Yes No No stopPropagation Yes No No Yes stopImmediatePropagation Yes No Yes **Yes**
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda