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

JavaScript Discussion :

portée de THIS en paramètre de fonction


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 17
    Points : 13
    Points
    13
    Par défaut portée de THIS en paramètre de fonction
    Bonjour à toutes et à tous,

    De nombreuses fonctions sont appelées en Javascript de cette manière:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <div onclick="fonc_javascript(this);"></div>
    
    
    
    // Et ensuite la fonction en javascript:
    
    function fonc_javascript(ele) {
    alert(ele.alt);
    }

    C'est ce this qui me perturbe précisément car je ne parviens pas par exemple à partir d'un autre <div> à récupérer la valeur de ce div.alt en question. En quelque sorte récupérer la valeur alt d'un DIV à partir d'un autre DIV en remplaçant this par une valeur permettant d'identifier l'autre DIV sans bug et sans incompatibilité de navigateur.

    PS: La function Javascript ne peut pas être modifiée (Librairie Javascript externe hébergée sur un autre serveur dont je n'ai pas les accès).


    J'ai reussit à obtenir un résultat correct sous IE mais FireFox me retourne une erreur, voici l'exemple qui fonctionne sous IE et non sous FF:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <div onclick="fonc_javascript(tryer);"></div>
    <div id="tryer" alt="test"></div>
    J'espère avoir été le plus précis possible néanmoins si un flou persiste, signalez le moi et je m'efforcerai de mieux vous exposer le problème.

    Merci de votre aide et à très bientôt.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 17
    Points : 13
    Points
    13
    Par défaut Réponse ok
    Je viens de trouver la solution à l'instant, encore désolé du dérangement

    Voici la solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div onclick="fonc_javascript(document.getElementById('tryer'));"></div>

  3. #3
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    Pour complèter , dans ton cas, this fais référence a la div a partir de laquelle ta méthode est appelée

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

Discussions similaires

  1. [Débutant] Borland C++ Builder : Portée du this, fonctions dans un formulaire, et espions
    Par otacon ghost dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/07/2011, 15h32
  2. fonction avec this en paramètre
    Par bakman dans le forum Débuter
    Réponses: 18
    Dernier message: 07/04/2011, 12h25
  3. [Dojo] Portée de "this" dans une fonction
    Par Zineb1987_UNI dans le forum Bibliothèques & Frameworks
    Réponses: 8
    Dernier message: 21/12/2009, 17h08
  4. Retrouver les valeurs des paramètres des fonctions d'une DLL
    Par Bernard Martineau dans le forum Langage
    Réponses: 6
    Dernier message: 08/11/2005, 10h42
  5. Paramètre de fonction
    Par Reynald dans le forum Débuter
    Réponses: 6
    Dernier message: 05/01/2005, 21h48

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