Tengo un problema con el siguiente código. Tengo un div con id reloadDiv que se actualiza cada 3 segundos usando ajax. El contenido del div se carga usando php, hay más contenido en este div pero no lo agregué aquí.
Div se está recargando normalmente. El problema es con el evento de botón de tipo de entrada con respuesta de claseComentario, hay varios botones con esta clase aquí. Cuando agrego un evento de clic, el evento funciona hasta la primera recarga, tan pronto como el evento div reloads ya no funciona.
¿Alguien sabe cómo solucionar este problema?
<div id="reloadDiv"> <?php foreach($comments as $c):?> <input type="button" value="Reply" class="replyComment" /> <?php endforeach?> </div>js:
setInterval(function(){ $("#reloadDiv").load(location.href + " #replyComment"); }, 3000); $('.replyComment').click(function(){ console.log("smth") });Eso sucede porque se reemplaza el contenido, y el elemento con el evento ya no existe, así como el evento.
Prueba esto:
$('#reloadDiv').on('click', '.replyComment', function() {Con eso, el evento está vinculado al elemento principal y funcionará sin importar cuántas veces se recree el contenido.