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 :

Fonction jQuery ne fonctionne pas sur un contenu rafraichi avec AJAX. [AJAX]


Sujet :

jQuery

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 109
    Points : 51
    Points
    51
    Par défaut Fonction jQuery ne fonctionne pas sur un contenu rafraichi avec AJAX.
    Bonjour,

    Je ne suis pas un expert avec javascript et jQuery mais je m'en sers régulièrement pour une application PHP/Ajax.
    Et là je sèche complétement, et j'ai du mal à trouver une réponse avec google.

    J'ai ce code JS que j’exécute au chargement de la page.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    jQuery( document ).ready(function() {
    	jQuery("[attributName]").bind("contextmenu",function(evt){  
    	  if (evt.ctrlKey ) { 
    		var key = jQuery(this).attr("attributName");
                    alert(key);
    		return false;
    		}
    	}); 
    });
    Ca marche très bien une au début, et ensuite je fais un appel ajax qui rafraichit un élément, et là ça ne fonctionne pas avec le contenu envoyé par l'ajax.
    Pourtant dans le contenu html que l'ajax à envoyer j'ai bien du contenu avec l'attribut "attributName".

    Je pense que j'ai oublié un truc de base, mais je vois pas quoi...
    Merci d'avance et bon week-end !

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 402
    Points : 4 837
    Points
    4 837
    Par défaut
    essaie avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    jQuery("body")
    .bind("contextmenu","[attributName]",function(evt){...});
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    jQuery("[attributName]").bind("contextmenu",function(evt){...});
    j'ai choisi "body" comme parent par défaut, tu peux mettre un autre parent plus proche de l'élément "[attributName]"

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- .bind() est déprécié depuis jQuery 3.

    2- il faut utiliser .on().

    3- Pour ton problème : l'élément n'existe pas dans le DOM.
    Il faut "accrocher" l'évènement à un élément existant (de préférence le plus proche).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    jQuery('body').on('contextmenu', '#element_a_cliquer', function(event){ 
      event.stopPropagation();
      alert('ok');
    });
    Dernière modification par Invité ; 10/11/2018 à 19h19.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 109
    Points : 51
    Points
    51
    Par défaut
    Hello,

    Merci pour vos réponses, ça marche parfaitement avec la solution de jreaux62.

    Bonne journée à tous.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/07/2014, 14h57
  2. Réponses: 13
    Dernier message: 13/06/2014, 09h45
  3. Jquery ne fonctionne pas sur page php distincte
    Par typiac dans le forum jQuery
    Réponses: 11
    Dernier message: 21/10/2012, 19h57
  4. fonction confirm() qui ne fonctionne pas sur IE7
    Par JackBeauregard dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/06/2008, 09h47
  5. Fonction DISTINCT ne fonctionne pas sur une date
    Par cramouille dans le forum Access
    Réponses: 5
    Dernier message: 25/10/2006, 15h42

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