El problema es que cuando se realiza una llamada a AJAX el DOM sufre modificaciones formateando de alguna manera y haciendo que los eventos queden obsoletos.
He leido varias maneras de volver a iniciar todos los binds para que esten disponibles despues de la carga mediante AJAX, y creo que la mejor es http://api.jquery.com/live/ para bindear el evento.
Asi...
Código Javascript
:
Ver originaljQuery('.btn-menu').live('click', function(e){
e.preventDefault();
jQuery('#box').fadeOut('slow').empty()
jQuery.ajax({
url : jQuery(this).attr('href'),
success : function(data){
jQuery('#box').html(data).fadeIn('slow');
}
});
});
Si hay una mejor manera, ami tambien me gustaria saberlo, saludos.