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 :

Attribuer un onclick dynamiquement


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Par défaut Attribuer un onclick dynamiquement
    Bonjour!

    J'espère que vous allez toutes et tous très bien .

    Alors voici ma problématique.

    Le contexte:
    Dans le cadre de la mise en place d'un système d'info bulle.
    Un objet créé dynamiquement en fin de corp via JS comme ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var notreElement = document.createElement('div');
    with (notreElement)
    {
    id='sonId';
    style.position='absolute';
    style.zIndex=10;
    innerHTML='ceci est un texte';
    }
    elementBodyDuDocument.appendChild(notreElement);
    Le problème:
    Si j'attribues un script au onclick de cet élément comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    notreElement.onclick= function () { alert('test!'); };
    J'obtiens bien la fonction en question... sauf qu'elle semble valable pour tout le document :s. Cad > où que je clique j'obtiens une alerte JS 'test!'. Alors que si je vérifie la "surface" de l'élément en question [en lui attribuant une couleur de fond par exemple] cet dernier ne couvre en aucun cas l'intégralité du document :s [tests réalisés sous FF1.5].

    Mes questions:
    - Est ce que j'attribue correctement la fonction à l'évènement onclick?
    - Il y a t'il un paramétrage spécial une compatibilité ou autres à préciser?
    - En bref, comment j'peux faire ?

    Merci d'avance!

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 442
    Par défaut
    Bonjour

    Peut-être comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("sonId").onclick = function() { alert("test !"); }

  3. #3
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Par défaut
    Merci pour ta réponse rapide ^^!

    Mais c'est innéficace :/. En effet cela revient au même.
    La fonction getElementById retourne l'élément [l'objet pour ainsi dire] en l'identifiant via l'attribut ID.
    Dans mon code je traite l'élément [l'objet ^^] directement.

    Ca court toujours .

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    c'est dans la faq ou les codes source ça ...

    tu le fais dans une boucle ?

    fais un alert sur les propriétés de notreElement car à mon avis il ne pointe pas sur le bon objet ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Par défaut
    Bonjour!

    La réponse a été trouvée!

    C'est le with qui met dedans :/. Mozilla n'aime pas apparament .
    Il fonctionne très bien pour l'attribution de propriété à valeur "fixe" mais pas pour leur attribuer une fonction.

    Il faut donc tout simplement sortir le onclick du with.

    Bonne journée!

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

Discussions similaires

  1. Réponses: 17
    Dernier message: 24/01/2011, 12h52
  2. évènement onclick dynamique
    Par sebac dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/03/2010, 12h00
  3. Evenement OnClick dynamique
    Par heruwenli dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/02/2009, 17h28
  4. onclick dynamique
    Par gowser dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/06/2007, 13h22
  5. fonction expand() : attribuer un onClick
    Par pc.bertineau dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 23/03/2007, 10h26

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