IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Contenu chargé en AJAX [AJAX]


Sujet :

jQuery

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 302
    Points : 141
    Points
    141
    Par défaut Contenu chargé en AJAX
    Bonjour à tous,

    Je ne sais pas si je suis dans le bon Forum.

    Je développe en ce moment un site avec drupal. J'ai une fonction qui me renvoie du contenu que j'affiche ensuite en AJAX :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    $.ajax({
    	url: '/ajax/'+id_lien+'/'+nid,
    	success: function(data) {
    		$('.overlay_content').html(data);
    		if(id_lien == "bouton_caracteristiques"){
    			$('.carct_contenu').hide();
    			$('#carct_contenu_0').show();
    			$('li#onglet_0').addClass('actif');
    		}else if(id_lien == "bouton_photos"){
    			var first = $('.modele-diapo-photo .views-row-first').find('img');
    			var new_format = first.attr('src').replace('model_diapo_thumb','model_diapo');
    			$('.photo_principale').append('<img src='+new_format+' />');
    			/*Shadowbox */
    			$('.agrandir_photo a').attr('href',new_format);
    			/* Telechargement de l'image */
    			var name_path = new_format.split('/');
    			name_path = name_path.reverse();
    			var name_file = name_path[0];
    			$('.dl_photo a').attr('href','/telechargement/'+name_file);
    		} 
    	}
    });
    Jusque là pas de problèmes. Cependant, dans mon contenu, j'utilise un lien vers une shadowbox :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    '<li class="agrandir_photo"><a href="lien_image" title="'.t('Enlarge picture').'" rel="shadowbox" class="shadowbox">'

    Le problème vient d'ici, le module Shadowbox analyse au chargement de la page tous les liens et intéragit avec ceux ayant le
    rel="shadowbox"
    . En chargeant avec l'AJAX les liens n'existent donc pas au départ.

    J'ai essayé de faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('a.shadowbox').live('click' ,function .....
    en mettant dans la fonction le code de shadowbox.js mais rien a faire ça ne fonctionne pas.

    Quelqu'un a déjà fait cela?

    Merci d'avance,

    Kevin

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    on() ou delegate() pas live()

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 302
    Points : 141
    Points
    141
    Par défaut
    Merci de votre réponse.

    Finalement j'ai fait comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $('a.shadowbox').live('click', function() {
    			Shadowbox.setup("a.shadowbox", {
    				gallery: "field_model_picture",
    			});
    			Shadowbox.open(this);
    			return false;
    		});
    Kevin

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    attention à la version de jquery avec live

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 16/03/2014, 18h31
  2. Popup genere dans du contenu genere par ajax
    Par daviddu54 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/01/2008, 22h29
  3. [AJAX] Executer Javascript chargé par Ajax
    Par Sylvain71 dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 13/12/2007, 23h14
  4. [AJAX] Remplir un formulaire chargé en AJAX
    Par lemok dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/07/2007, 10h32
  5. [AJAX] Du JS dans un script chargé en AJAX ?
    Par dorian53 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/04/2007, 12h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo