web-dev-qa-db-fra.com

Comment créer un lien qui ne va nulle part

Est-il possible de faire un lien qui ne fait rien. Je veux que l'élément soit un lien, donc je change le curseur au passage de la souris, mais je ne veux pas que le lien aille vraiment n'importe où car il déclenche réellement l'affichage d'un div avec des fonctionnalités supplémentaires sur la même page.

54
Ankur

Ajoutera à l'historique du navigateur:

<a href="#"></a>

N'ajoutera pas à l'historique du navigateur (méthode préférée):

<a href="javascript:;"></a>

105
leepowers

Au lieu de cela, vous pouvez utiliser un <span> et définissez le style du curseur:

<span id="node42" class="node-link">My Text</span>

Et spécifiez le curseur dans votre feuille de style:

.node-link { cursor: pointer; }

Cela vous permettrait également de vous attacher au nœud pour vos actions plus tard (montrez ici en utilisant Prototype ):

<script type="text/javascript">
    $('node42').observe('click', function(event) {
      alert('my click handler');
    });
</script>
17
jheddings

à mon avis, la solution sans piratage la plus complète:

<a href="" onclick="return false;">do absolutely nothing</a>
15
pstanton

Ajoutez simplement le style cursor:pointer à l'élément:

<a id="clickme">Click Me</a>

CSS:

#clickme { cursor: pointer }

Ou (le ciel nous en préserve) en ligne:

<a style="cursor:pointer">Click Me</a>
7
Doug Neiner

Voici 2 approches javascript classiques qui ne vous donneront pas d'erreur dans votre console JS = et/ou ne modifiez pas l'URL et ne l'enregistrez pas dans l'historique de votre navigateur:

<a href="javascript:void(0);">Click on this javaScript error-free link that won't change your URL nor save it into your browser history</a><hr />
<a href="#void">Maybe a more readable approach, but unfortunately this one changes your URL</a>
3
Eternal Darkness

Si vous voulez juste du style, définissez le pointeur CSS propriété du curseur .

Mais il semble que vous souhaitiez <a href="javascript:void(do_something())">.

2
Roger Pate

Une option serait de pointer vers #someid - cela déplacera le défilement vertical vers cet élément, mais cela peut ou non être ce que vous voulez.

Ps. vous pouvez obtenir le même résultat avec les styles.

1
eglasius

Je cherchais quelque chose de plus simple, et je pense que je l'ai trouvé. Voulez-vous que votre lien n'aille nulle part? Omettez le href.

<a class='irrelevant_for_this_example'>Some text</a>

href="#" défile en haut de la page.

href="javascript:;" semble douteux.

Une solution JS semble inutile pour quelque chose d'aussi simple.

1
Miguel Madero