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 :

Appel Event observe [Prototype]


Sujet :

Bibliothèques & Frameworks

Vue hybride

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Par défaut Appel Event observe
    Bonjour,

    je cherche à lier une action à un bouton en utilisant un appel à un fichier .js et en évitant la saisie d'un onClick dans ma page web exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    mapage.html
    <html>
    <script src="fonctions.js" type="text/javascript"></script>
    <body>
    <input type="button" id="monbouton" value="valider">
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    fonctions.js
     
    Event.observe($("monbouton"),"click",mafonction,false);
     
    function mafonction(){
     alert("ok, ça marche");
    }
    ...
    Le problème est que lorsque je lance ma page html, la fonction "mafonction" est appelé sans que je clique sur mon bouton "monbouton" ! Comment je peut faire pour que ma fonction "mafonction" ne soit appelée que si je clique sur mon bouton "monbouton" ?

    Et que signifie le dernier paramètre de Event.observe ? (false)

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Par défaut
    S'il vous plaît ?

    Une autre petite question : comment ont fait pour passer des arguments dans ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Event.observe($("monbouton"),"click",mafonction,false);

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Par défaut
    Bon,

    j'ai trouvé une solution, j'écrivais "mafonction" avec des parenthèses dans le Event.observe donc la fonction était appelé au chargement de mon fichier .js.

    Cependant, Es-ce que quelqu'un saurait me dire si c'est possible de passer des paramètres comme ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Event.observe($("monbouton"),"mouseup",mafonction(unparamètre,deuxparamètres),false)

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 657
    Par défaut
    Salut,

    Citation Envoyé par sorenson2
    j'écrivais "mafonction" avec des parenthèses dans le Event.observe donc la fonction était appelé au chargement de mon fichier .js.
    Si tu nous donne un code différent de celui qui te pose des problèmes, je vois pas bien comment on est censé t'aider


    Cependant, Es-ce que quelqu'un saurait me dire si c'est possible de passer des paramètres comme ceci ?
    Tu peux utiliser une fonction anonyme, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Event.observe("monbouton", "mouseup", function(event) { mafonction(unparamètre,deuxparamètres); });
    Note que j'ai un peu "simplifié" ton code :
    - Event.observe comme la plupart des fonctions prototype peuvent prendre un ID directement, donc pas la peine d'utiliser $ pour le premier paramètre.
    - Le 4é paramètre de Event.observe est a false par défaut, donc il est utile uniquement si tu veux le mettre a true.
    (cf. http://prototypejs.org/api/event/observe)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Par défaut
    merci beaucoup !

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

Discussions similaires

  1. Event.observe baisse de performance ?
    Par Promesses dans le forum Général JavaScript
    Réponses: 24
    Dernier message: 16/06/2008, 09h09
  2. Event.observe (plusieurs objets)
    Par FrankOVD dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 10/06/2008, 14h14
  3. [Prototype] Réaffecter un Event.observe
    Par vence dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 26/05/2008, 11h17
  4. Event.observe sur IE
    Par moumoune65 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/07/2007, 11h45
  5. event.observe ne fonctionne pas sous IE
    Par mikees dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/06/2007, 18h48

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