Parar propagação de evento no jQuery

Bom dia pessoal!

Aí vai uma dica rápida mas que pode ser uma dor de cabeça para muita gente.

Suponha que você fez uma tabela e cada linha ao ser clicada executa uma ação, por exemplo vai para uma tela de edição. Mas na mesma linha você colocou um botão para remover que ao ser clicado vai para outra. Exemplo:

Mas quando você clica no botão remover, aparece remover, mas logo em seguida também aparece o editar. Pior, quando o click apenas redireciona para outra página, você vê apenas indo para a tela de edição.

Isso porque o evento “click” é propagado para todos os objetos clicados, mesmo que um esteja sobre o outro.

Solução: stopPropagation. Basta acrescentar esta linha no primeiro objeto, no nosso caso no botão remover (Não esqueça de usar o argumento “e” na definição da função):

Referência:

http://api.jquery.com/event.stopPropagation/

Até a próxima!

PHP developer since 1997, loves movies, music and dogs.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

*