51 votes

Empêcher le comportement d'ancrage

Quand je veux empêcher le comportement par défaut de la balise d'ancrage que j'utilise

 <a href="javascript:void(0);">link</a>

Quelle est la solution la plus efficace ?

38voto

karim79 Points 178055

Un exemple de solution gracieusement dégradante :

 <a href="no-script.html" id="myLink">link</a>

<script>
document.getElementById("myLink").onclick = function() {
    // do things, and then
    return false;
};
</script>

Démo : http://jsfiddle.net/karim79/PkgWL/1/

35voto

Charles Ouellet Points 2511

C'est une bonne approche, si vous utilisez jquery vous pouvez aussi faire :

 <a id="link" href="javascript:void(0)">link</a>

<script type="text/javascript">
   $("#link").click(function(ev) {
       ev.preventDefault();
   });
</script>

preventDefault peut également être utile pour empêcher la soumission du formulaire

18voto

Shadow Wizard Points 38568

Vous pouvez également avoir ceci :

 <a href="#" onclick="return false;">link</a>

2voto

Musarrof Points 39

Voici un moyen très simple d'arrêter cela.

 ( function( $ ) {
   $( 'a[href="#"]' ).click( function(e) {
      e.preventDefault();
   } );
} )( jQuery );

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X