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 :

Evénements avec JQuery


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Par défaut Evénements avec JQuery
    Bonjour,

    J'essaie de comprendre les imbrications de html, javascript, jquery, ajax.

    Voici un exemple : j'ai le fichier a.php : j'intègre un fichier css, la bibliothèque Ajax, la bibliothèque JQuery et un script b.js qui contient les fonctions.

    a.php contient la div <div id="liste"> et appelle une fonction qui se trouve dans b.js.

    Cette fonction appelle par le biais d'ajax ($.ajax()) un script php qui remplit une variable de type txt.

    Au retour de ce script php, je récupère ma variable txt qui me sert à remplir une table.

    A chaque <td> de cette table, j'adjoins un attribut class="z"; cet attribut fait appel à une fonction du script b.js; cette fonction est censée mettre la ligne avec un fond d'une couleur différente du fond original.

    La fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $('.z').click ( function ()
    {
       tid = this.id;  
       no_ligne = tid.substr (10);
       couleur = "#96BED2";
       if ((no_ligne % 2) == 0)
       {
           couleur = "#F0FAFA";
       }
       document.getElementById (tid).style.backgroundColor = couleur;
    });
    Ensuite j'intègre cette table dans la <div id="liste"> de a.php.

    L'affichage est correct, mais le click n'appelle pas la fonction; par contre si je mets un événement onclick sur la ligne, la fonction liée au click est bien appelée.

    D'autre part, si je constitue cette table directement dans a.php (avec lecture de la table mysql), la fonction répond correctement à l'attribut class="z".

    Si quelqu'un pouvait me dire ce qui ne va pas, ça me rendrait vraiment service.

    Merci beaucoup.
    L'événement

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Par défaut Merci
    Désolé, c'était totalement involontaire.

    Cordialement

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Mille fois traité !
    Tu ne peux pas attacher des événements à des éléments qui n'existent pas !

    Heureusement, jQuery à tout prévu, en particulier la délégation d'événement.
    Regarde du coté de .on() et particulièrement la partie "Direct and delegated events".
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    D'autre part, dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById (tid).style.backgroundColor = couleur;
    quelle est pour toi la différence entre document.getElementById (tid) et this ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Par défaut Merci pour les réponses et conseils
    En effet, on peut évidemment mettre this à la place de document.get....

    Pour mon problème principal, la raison était que la fonction $(document).ready (function) n'englobait pas les événements liés à l'attribut class="z".

    Merci encore.

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

Discussions similaires

  1. controle d'un champ e_mail avec Jquery
    Par ranell dans le forum jQuery
    Réponses: 3
    Dernier message: 23/05/2008, 10h57
  2. problème d'evènement avec JLIST
    Par henpower dans le forum Composants
    Réponses: 2
    Dernier message: 30/01/2008, 20h26
  3. [js]problèmes avec jquery
    Par pomgnon dans le forum jQuery
    Réponses: 3
    Dernier message: 30/03/2007, 21h47
  4. [JQUERY] Comment appeler une fonction php avec jquery
    Par popogendarme dans le forum jQuery
    Réponses: 1
    Dernier message: 20/03/2007, 17h07
  5. Evénements avec Swing
    Par Djakisback dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 25/02/2006, 18h50

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