La function Jquery no funciona después de la llamada Ajax

Tengo esta function:

$(document).ready(function() { $('.post_button, .btn_favorite').click(function() { //Fade in the Popup $('.login_modal_message').fadeIn(500); // Add the mask to body $('body').append('<div class="overlay"></div>'); $('.overlay').fadeIn(300); return false; }); 

Mi página carga contenido con los botones favoritos, pero después de que Ajax llame y genere contenido nuevo adicional, la function no funciona onclick en los botones de contenido nuevo. ¿Qué podría estar mal?

Eso es porque estás usando contenido dynamic.

Debe cambiar su llamada de clic a un método delegado como on

 $('.post_button, .btn_favorite').on('click', function() { 

o

 $("body").on( "click", ".post_button, .btn_favorite", function( event ) { 

En lugar de esto:

 $('.post_button, .btn_favorite').click(function() { 

hacer esto:

 $(document).on('click','.post_button, .btn_favorite', function() { 

on trabajará con elementos presentes y futuros que coincidan con el selector.

Aclamaciones

Si conoce el contenedor para .post_button, .btn_favorite, use

 $('#container_id').on('click', '.post_button, .btn_favorite', function () { }); 

por lo que si no se encuentran '.post_button, .btn_favorite' entonces burbujeará hasta container_id

si no conoces el contenedor, delegalo al documento

 $(document).on('click', '.post_button, .btn_favorite', function () { }); 

Referencia

No estoy seguro de si su pregunta es correcta, pero es posible que desee intentar …

 $.ajax({ url: "test.html" }).done(function() { $('.post_button, .btn_favorite').click(function() { //Fade in the Popup $('.login_modal_message').fadeIn(500); // Add the mask to body $('body').append('<div class="overlay"></div>'); $('.overlay').fadeIn(300); return false; }); 

Intenta pegar tu código dentro de la function de done .

Espero eso ayude 🙂

EDIT: también noto que te falta }); en tu pregunta.

Lo siguiente funcionó para mí

  $(document).ready(function(){ $(document).bind('contextmenu', function(e) { if( e.button == 2 && jQuery(e.target).is('img')) { alert('These photos are copyrighted by the owner. \nAll rights reserved. \nUnauthorized use prohibited.'); return false; } }); }); 

Debe vincular el evento de clic de jQuery una vez que su contenido de ajax sea reemplazado por el contenido anterior

en el bloque de éxito AJAX necesita agregar código como aquí nuevo contenido html de respuesta una label como

 <a href="#" id="new-tag">Click Me</a> 

Para que pueda vincular el nuevo evento de clic luego de cambiar el contenido con el siguiente código

 $("#new-tag").click(function(){ alert("hi"); return false; });