11492 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Après m'être longuement creusé la tête, je n'arrive pas à charger un script jquery (en l'occurrence ici une lightbox) dans le contenu d'une div elle même appelée via une requête ajax.

Le script ajax en question:

$(document).ready(function() {
					   
	var hash = window.location.hash.substr(1);
	var href = $('.sub-menu li a').each(function(){
		var href = $(this).attr('href');
		if(hash==href.substr(0,href.length-5)){
			var toLoad = hash+'.html #contenu';
			$('#contenu').load(toLoad)
		}											
	});
	
	$('.sub-menu li a').click(function(){			  
		var toLoad = $(this).attr('href')+' #contenu';
		$('#contenu').fadeOut('fast',loadContent);
		$('#load').remove();
		$('#logo').append('<span id="load">CHARGEMENT...</span>');
		$('#load').fadeIn('normal');
		window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);
		function loadContent() {
			$('#contenu').load(toLoad,'',showNewContent())
		}
		function showNewContent() {
			$('#contenu').fadeIn('normal',hideLoader());
		}
		function hideLoader() {
			$('#load').fadeOut('normal');
		}	
		$.getScript("js/lightbox.js", function(){
		$('#galerie a').lightBox();
		alert("script envoye");
		});			
		
               return false;
		
	});

J'utilise la fonction .getScript() pour envoyer le js de la llightbox, avec une alerte histoire de vérifier que tout est bien envoyé.
l'alerte s'affiche, les données sont envoyés (j'ai pu inspecter les ressources avec webkit) mais la lightbox ne fonctionne pas.

La galerie se trouve dans la div #contenu et est chargée avec le reste via la requête ajax (au niveau du html, tout est ok)

J'ai également essayé avec un .load() tout simple pour vérifier que le problèmes ne venait pas du script plus haut, mais même résultat.

Voilà où je suis bloqué. Si quelqu'un a une petite piste, je l'en remercie d'avance.