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

Bibliothèques & Frameworks Discussion :

Bind is not a function [Prototype]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 230
    Points
    20 230
    Par défaut Bind is not a function
    Bonjour à tous,
    Lorsque j'essai d'utiliser la fonction bind() sur une fonction (pas dans une classe) je reçois de firebug le message suivant :
    Bind is not a function.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function mafonction(param){
        $$('#row4 td').each(function(){
              // Mon traitement
        }).bind(this);
    }
    J'ai donc bel et bien une erreur JS mais le traitement se passe correctement , et bind à bien fait son office puisque j'arrive à passer param à la fonction du each.

    Une idée ?

  2. #2
    Membre expérimenté
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Points : 1 333
    Points
    1 333
    Par défaut
    Dans l'exemple que tu donnes, le bind s'execute sur le resultat du each.

    Si tu veux appliquer un bind, il faut le faire après l'accolade fermante. bind est une methode de l'objet function.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function mafonction(param){
        $$('#row4 td').each(function(){
              // Mon traitement
        }.bind(this));
    }
    Cependant, dans ton cas je pense que tu veux definir ta fonction "mafonction" comme contexte pour avoir une visibilité sur param... Et bien tu n'as rien besoin de faire... Le parametre sera visible dans le scope de la fonction anonyme.

    En revanche si ton besoin est d'utiliser "mafonction" comme "this", tu peux soit effectivement utiliser bind comme montré plus haut, soit utiliser le deuxieme parametre de each avec lequel on specifie le contexte d'execution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function mafonction(param){
        $$('#row4 td').each(function(){
              // Mon traitement
        }, this);
    }

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 230
    Points
    20 230
    Par défaut
    Merci pour ta réponse.

    En fait j'ai besoin d'utiliser l'id dans une fonction anonyme attachée à un événement. Mais en effet bind est dans ce cas inutile , le second paramètre de each() (que je ne connaissais pas d'ailleurs) est suffisant

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

Discussions similaires

  1. [AJAX] erreur: is not a function avec liste déroulante
    Par dr_octopus74 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/04/2007, 13h53
  2. is not a function
    Par Methode dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/01/2007, 22h25
  3. indexOf is not a function : pourquoi
    Par avogadro dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/08/2006, 17h50
  4. document.getElementByTagName is not a function ?
    Par krolineeee dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 31/05/2006, 10h41
  5. window.document.forms[0].submit is not a function ?????
    Par michaelbob dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 04/01/2006, 16h08

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