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

HTML Discussion :

liens dans une liste: comportement etrange


Sujet :

HTML

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 95
    Points : 54
    Points
    54
    Par défaut liens dans une liste: comportement etrange
    Bonjour,

    J'ai un menu sous forme liste créer a partir de la bibliotheque yui:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <ul class="first-of-type">
      <li class="yuimenuitem">
    	<a style="width: 150px;background-color:#619BCF;"  
                 href="http://calendar.yahoo.com" 
                 target="toto">
               Calendar
          </a>
       </li>
       <li class="yuimenuitem">
          <a href="http://notepad.yahoo.com">
            Notepad
          </a>
       </li>
    </ul>
    Les deux liens fonctionnent, mais sur le second (Notepad), si je clique a droite du texte (dans la balise li), le lien est également appliqué. Ce comportement n'est pas reproduit sur le premier lien (Calendar), tant que je laisse l'attribut "target" dans le lien.
    J'aurais deux questions concernant ce problemes:
    -pourquoi sur le lien notepad, le lien est lancé lorsque je clique a coté (j'ai verifier avec un alert(this.tagName), c'est bien la balise "li" qui est cliqué)?
    -pourquoi l'attribut "target" empeche ce comportement?

    Merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 143
    Points
    11 143
    Par défaut
    bonjour,


    -pourquoi sur le lien notepad, le lien est lancé lorsque je clique a coté (j'ai verifier avec un alert(this.tagName), c'est bien la balise "li" qui est cliqué)?
    -pourquoi l'attribut "target" empeche ce comportement?
    Ce n'est pas target qui empèche ce comportement, c'est le style appliqué sur le lien Calendar (with: 150px).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <ul class="first-of-type">
      <li class="yuimenuitem">
    	<a style="width: 150px;background-color:#619BCF;"   href="http://calendar.yahoo.com" target="toto">
               Calendar
          </a>
       </li>
       <li class="yuimenuitem">
          <a href="http://notepad.yahoo.com">
            Notepad
          </a>
       </li>
    </ul>
    Par défaut le lien prend une largeur de 100% du conteneur. Précise une largeur à ton lien

  3. #3
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 95
    Points : 54
    Points
    54
    Par défaut
    si c'est bien le target puisqu'en l'enlevant ca marche.
    Mais c'est une cause intermediaire. J'ai résolu le probleme.
    Il s'agit du javascript yahoo qui intercèpte les évènements (en l'occurence "onclick") et qui met à jour la page si l'élément cliqué contient un lien (ce qui explique pourquoi le clique sur li active le lien).
    Cette opération n'est faite que si le lien inclu n'as pas de target.
    J'ai modifié le javascript et ca marche.

    Un lien n'as pas d'autre largeur que le texte ou l'image qu'il contient.

  4. #4
    Membre émérite
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Points : 2 907
    Points
    2 907
    Par défaut
    Citation Envoyé par lapin_hobbit
    Un lien n'as pas d'autre largeur que le texte ou l'image qu'il contient.
    C'est juste, par défaut, vu que c'est une balise in-line.

    Par contre, alors, ça n'a pas de sens de lui attribuer un width comme tu le fais:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	<a style="width: 150px;background-color:#619BCF;"  
                 href="http://calendar.yahoo.com" 
                 target="toto">
               Calendar
          </a>
    Un navigateur en mode standard l'ignorera à moins que tu ne remplaces le inline par un type acceptant un width (display:block par exemple). Mais peut-être est-ce fait en amont sur ta feuille de styles ?

    Citation Envoyé par Auteur
    Par défaut le lien prend une largeur de 100% du conteneur. Précise une largeur à ton lien
    Ce qui était une bonne idée en partant du principe qu'on a appliqué un display:block au a vu l'attribution d'un width

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

Discussions similaires

  1. Comment activer les liens dans une liste récurrente ?
    Par Marco71 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 16/05/2013, 01h39
  2. Un lien dans une liste
    Par johnjrambo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 22/04/2011, 21h52
  3. Ouverture d'un lien dans une List Links
    Par nico18987 dans le forum SharePoint
    Réponses: 0
    Dernier message: 11/09/2007, 17h29
  4. [Frame][Form] Lien dans une liste déroulante
    Par dann dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 10/02/2007, 14h05
  5. liens dans une liste déroulante
    Par JulienCEA dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 26/03/2006, 13h02

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