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 :

Lien prioritaire à un onclick sur une ligne de tableau


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 207
    Points : 85
    Points
    85
    Par défaut Lien prioritaire à un onclick sur une ligne de tableau
    Bonjour,

    J'aimerais savoir s'il serait possible de rendre prioritaire un lien hypertexte sur un texte présent dans un tableau, sachant que les lignes de ce tableau ont un evènement OnClick dans le <tr>

    En pratique, dans ce tableau si on clique sur une ligne, cela ouvre une pop-up du détail de cette ligne
    mais lorqu'il y a un lien hypertexte dans ce tableau, je voudrais que cela ouvre ce lien sans ouvrir la pop-up du OnClick de la ligne en question.
    Or là le lien + pop-up sont ouvert en même temps. je ne vois pas comment faire.

    Pourriez vous m'aider ?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    un onclick sur un élément d'un conteneur et prioritaire sur le onclick du conteneur
    donc dans le cas d'un lien contenu dans un tableau
    le onclick du lien passe avant le onclick de la cellule qui pas avant le onclick de la ligne qui passe avant le onclick du tableau ...

    il faut géré le return dans la méthode du onclick pour ne pas le propager

    A+JYT

  3. #3
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    A priori le lien étant dans un td, c'est le td en premier qui prend le click avant le lien ...
    Tu peux toujours rajouter un stopPropagation() ou cancelBubble() pour éviter que le click du lie ne se propage

  4. #4
    Membre régulier
    Inscrit en
    Juillet 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 207
    Points : 85
    Points
    85
    Par défaut
    ça c'est du service rapide ! Merci

    j'ai pas trop compris quoi faire en fait.

    exemple simplifié

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <tr onclick="openpopup('details.asp?id=<%=param_ligne%>')">
      <td> blabla 1</td>
      <td> blabla 2</td>
      <td> <a href="lien.html">blabla 3</a></td>
    <tr>

    J'aimerais que si je clique sur le lien "blablabla 3" cela m'ouvre bien l'url (ce que ça fait déjà) mais que cela ne m'ouvre pas la pop-up en même temps.

    comment je stoppe la propagation dans mon javascript "openpopup" ?

    Encore merci

  5. #5
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    stopPropagation() ou cancelBubble()
    qu'en pense google ?

  6. #6
    Membre régulier
    Inscrit en
    Juillet 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 207
    Points : 85
    Points
    85
    Par défaut
    Oui j'ai bien vu ta réponse, l'un pour plus pour IE, l'autre plutot pour les autre navigateur.

    mais je ne comprend pas à quel endroit faire cette commande.
    Il faudrait peut-être remplacer mon lien <a href ..> par un evènement javascript ?

  7. #7
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    non il suffit sur le onclick de la balise de stopper la propagation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div id="foo" onclick="alert('deux clics ...')">parent
    <a href="javascript:alert('un clic ça va');" onclick="(function(e){if(!e){e=window.event};if(e.stopPropagation){e.stopPropagation();}else{e.cancelBubble = true}})()">enfant</div>
    </div>
    le js dans le href est juste pour la mise en évidence du déclenchement du href

  8. #8
    Membre régulier
    Inscrit en
    Juillet 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 207
    Points : 85
    Points
    85
    Par défaut
    Ok merci bien
    je vais tester cela

    Merci

    Edit : ça marche du tonnerre !

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

Discussions similaires

  1. Lien sur une ligne de tableau
    Par dam28800 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/04/2008, 09h15
  2. lien sur une ligne de tableau
    Par snetechen dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/02/2007, 15h56
  3. Lien sur une ligne de tableau
    Par DJPi dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 25/07/2006, 23h09
  4. [HTML] lien hypertext sur une ligne de tableau
    Par BigBarbare dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/05/2006, 14h43
  5. Lien sur une ligne de tableau
    Par Oluha dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/02/2005, 11h36

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