jQuery, Shadowbox y AJAX

Me gustaría cargar algún contenido utilizando AJAX y Shadowbox

Básicamente, me gustaría que el usuario vaya a una página en caso de que JavaScript esté desactivado. Así que esto es lo que quiero hacer:

1) Cancele el evento de clic, es decir, el usuario no debe ir a una página diferente.

2) Cargar contenido usando la función ajax en jQuery

3) Mostrar el contenido dentro de un cuadro de sombra

Mi código funciona bien hasta que se carga contenido con ajax, pero el shadowbox no se muestra y la URL se actualiza, supongo, todo se queda en blanco.

jQuery(document).ready(function($){ // rounded corners $('img').addClass('corner iradius16'); DD_roundies.addRule('#nav li a',4,true); DD_roundies.addRule('.grid',6,true); $('h2 a').bind('click', function() { var id = $(this).attr('id'); $.ajax({ url: "/ajax-post.php?p="+id, success: function(data){ Shadowbox.open({ content: data, player: "html", height: 350, width: 350 }); } }); return false; }); 

ACTUALIZACIÓN 1

probé este código y, tan pronto como se cargue el shadowbox, el documento se volverá a cargar y se volverá blanco.

 Shadowbox.init({ skipSetup: true, players: ["html"] }); // LOAD jQuery(document).ready(function($){ // rounded corners $('img').addClass('corner iradius16'); DD_roundies.addRule('#nav li a',4,true); DD_roundies.addRule('.grid',6,true); $('.post h2 a').bind('click', function() { var id = $(this).attr('id'); $.ajax({ url: "/ajax-post.php?p="+id, success: function(data){ show_box(data); } }); return false; }); }); 

// función shadowbox show_box (html) {Shadowbox.open ({content: html, player: “html”, altura: 350, ancho: 350}); }


ACTUALIZACIÓN 2

De acuerdo, tengo el prbolem, el html que recibo a través de ajax tiene algo de javascript y esa es la razón de la recarga de la página.

Por qué está pasando esto ? Algunas ideas ?

Como no está obteniendo ningún error de JavaScript, intente la depuración desglosándola:

Asegúrese de que el enlace y la anulación del evento de clic estén funcionando correctamente:

 $('h2 a').bind('click', function() { alert('click even fired'); return false; }); 

Si eso funciona, verifique los datos que su solicitud de ajax está devolviendo:

 $('h2 a').bind('click', function() { var id = $(this).attr('id'); $.ajax({ url: "ajax-post.php?p="+id, success: function(data){ alert(data); } }); return false; }); 

El código parece que debería funcionar, así que supongo que hay algo que está mal en otro lugar (en cuyo caso es probable que la primera prueba falle) o que se devuelvan datos realmente extraños.

Necesita correr

 Shadowbox.setup('h2 a'); 

Esto se reinicializará y enlazará a cualquier contenido cargado de ajax