J'ai une page qui affiche plusieurs blocs avec les détails des résultats. A l'intérieur de chaque bloc, j'ai quelques <a>
tags avec thickbox plugin jQuery attaché: class="thickbox"jQuery bind sur l'événement ajax load()
Voici un exemple d'une sorte de balise ampersant:
<a class="thickbox" title="Please Sign In" href="userloginredir.php?height=220&width=350&deal=3">
problème vient quand j'ai ajouté une pagination jQuery à la page en raison de trop de résultats affichés sur la page. Le composant div avec les résultats à l'intérieur est mis à jour via l'événement ajax load().
est Ci-dessous le script Pagination:
$(document).ready(function(){
//References
var pages = $("#menu_deals li");
var loading = $("#loading_deals");
var content = $("#content_deals");
//show loading bar
function showLoading(){
loading
.css({visibility:"visible"})
.css({opacity:"1"})
.css({display:"block"})
;
}
//hide loading bar
function hideLoading(){
loading.fadeTo(1000, 0);
};
//Manage click events
pages.live('click',function(){
//show the loading bar
showLoading();
//Highlight current page number
pages.css({'background-color' : ''});
$(this).css({'background-color' : 'yellow'});
//Load content
var pageNum = this.id;
var targetUrl = "ajax_search_results.php?page=" + pageNum + "&" + $("#dealsForm").serialize() + " #content_d";
content.load(targetUrl, hideLoading);
});
//default - 1st page
$("#1").css({'background-color' : 'yellow'});
var targetUrl = "ajax_search_results.php?page=1&" + $("#dealsForm").serialize() + " #content_d";
showLoading();
content.load(targetUrl, hideLoading);
});
Quand j'ai ajouté la pagination (code ci-dessus), les événements Thickbox ne sont pas reconnus plus et au lieu de POPING une fenêtre avec le formulaire de connexion à l'intérieur ouvre les résultats dans nouvelle page (agit comme un clic sur un lien normal) De mes connaissances jQuery, cela signifie que les composants ne sont pas définis dans le DOM car le contenu est mis à jour après le déclenchement du document.
Je suis en train de lier l'événement de chargement avec quelque chose comme ceci:
content.bind('load', ???);
Mais je ne sais pas comment passer les params de charge, targetUrl et la fonction de rappel hideLoading, lors de la liaison de l'événement de charge .
S'il vous plaît aidez-moi dans cette affaire, il m'a déjà fallu plus de temps que possible.
Pourriez-vous donner un lien vers votre page? De cette façon, je peux copier et dépanner. –