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 :

Balise a et hashtag #, javascript:void ou autre


Sujet :

HTML

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Par défaut Balise a et hashtag #, javascript:void ou autre
    Bonjour,
    pour mon premier message, je pose une question qui a peut-être déjà était posé mais je trouve pas de réponse

    Normalement on utilise des liens de ce genre pour les flèches de sliders ou autres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href='#' title='Cliquez pour faire défiler'>Ma Fleche</a>
    Et on peut aussi utiliser:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href='javascript:void(0);' title='Cliquez pour faire défiler'>Ma Fleche</a>
    Je me demande quelles sont les différences entre les deux syntaxes ? Faut-il en favoriser l'une plus de l'autre ?

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Le but poursuivi est le même, à savoir que le clic ne doit amener nul part (pas de changement de page). Par conséquent, les 2 techniques existent :
    • Renvoi vers une ancre de page qui n'a pas été définie (#). Donc il ne se passe rien.
    • Appel de la fonction void qui renvoie undefined. La cible étant indéfinie il ne se passe rien


    Maintenant, de là à comparer ces 2 techniques... Disons juste que la première solution ne sollicite pas le moteur Javascript.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Par défaut
    Merci pour la réponse. En effet, le résultat est le même mais je me demandais si tout de même, il n'y avait pas une légère nuance.

    Du coup, je reste sur le Hashtag.

  4. #4
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Citation Envoyé par Hephaistos007;6715107
    [LIST
    Renvoi vers une ancre de page qui n'a pas été définie (#).
    Et pour empêcher le comportement par défaut, à savoir remonter en haut de page, on utilise preventDefault()

    javascript:void(0);, c'est sale, très sale...

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Par défaut
    Citation Envoyé par Macmillenium Voir le message
    Et pour empêcher le comportement par défaut, à savoir remonter en haut de page, on utilise preventDefault()

    javascript:void(0);, c'est sale, très sale...
    Donc avec un preventDefault(), on neutralise totalement le lien comme dans le code Jquery qui suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $("a#test1").click(function(e){
      e.preventDefault();
    });
    C'est toujours utile pour éviter que la page remonte comme sur certains navigateurs.

  6. #6
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    On empêche le comportement par défaut mais on laisse l’événement se propager tranquillement dans le DOM.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Par défaut
    Citation Envoyé par Macmillenium Voir le message
    On empêche le comportement par défaut mais on laisse l’événement se propager tranquillement dans le DOM.
    Donc on neutralise que la "redirection" vers un nouvelle url

  8. #8
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 205
    Par défaut
    Normalement on utilise des liens de ce genre pour les flèches de sliders ou autres
    il serait peu être plus judicieux, dans ce cas, d'utiliser des BUTTON qui sont somme toute là pour exécuter une action sur un clic.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 03/04/2007, 14h30
  2. Récup variable Javascript dans une autre page
    Par michelle1000 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/09/2006, 06h58
  3. [Javascript] Encore un autre pb de checkbox à décocher
    Par striky2 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/07/2006, 11h23
  4. Declenchement d'un javascript depuis une autre page
    Par mcrbe dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/03/2006, 11h30
  5. Javascript-html: ne pas afficher le javascript:void(0)
    Par Anarianthe dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 01/02/2006, 23h32

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