Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eu tenho uma pergunta meio "noob" sobre o assunto, já pesquisei e li uns artigos porém não ficou muito claro, então vamos lá.
Neste exemplo aqui: https://jsfiddle.net/wessleysanttos/gk7w5h1u/
Eu tenho uma tag <a> que inicializa com a página, e tem um botão que adiciona outras tag <a> na página.
E no JS ele fica escultando o click nos elemento <a>, certo?
Porque o <a> que foi iniciado com a página funciona e os outros que eu adicionei apos a página ser carregada não funciona?Amigo, o link que tu postou é o mesmo que o meu, tu precisa apertar em "update" ou "save" lá encima para salvar as alterações.
Ou se quiser já postar aqui como tu faz para escultar os eventos.https://jsfiddle.net/gk7w5h1u/1/
foi mau rsrs
>
1 minuto atrás, wessleysanttos disse:
Amigo, o link que tu postou é o mesmo que o meu, tu precisa apertar em "update" ou "save" lá encima para salvar as alterações.
Ou se quiser já postar aqui como tu faz para escultar os eventos.
Esqueci de dar updatePesquisem por event delegate. Isso acontece porque o momento em que o evento foi adicionado os elementos ainda não existiam.
Ai você tem duas soluções:
-> Adicionar o evento para o elemento que for criado assim que ele for criado
-> Escutar o evento no elemento pai deles: que é se valer da propagação do evento para capturar o evento no pai e poder "fingir" que você escutou do filho.
Enfim, pesquisem por event delegate que vocês vão entender.
Ahhhhh, agora eu entendi melhor sobre isso.
@William Bruno, então nessa situação desta forma seria uma das soluções né?
https://jsfiddle.net/wessleysanttos/qfb8um8j/
E valeu /profile/213374-douglas-juli%C3%A3o/?do=hovercard" data-mentionid="213374" href="/profile/213374-douglas-juli%C3%A3o/" rel="">@Douglas Julião , dessa forma que tu citou também resolve o problema.
Sim, isso aqui:
$("#grid").on('click', 'a', function(){
é o event delegation do jQuery.Entendi.. valeu pela ajuda.
Sobre esse assunto eu não sei te explicar direito, mas para ficar sempre escutando os novos elementos que quero executar um evento eu faço assim : https://jsfiddle.net/wessleysanttos/gk7w5h1u/