2010-02-22 5 views
0

J'ai un problème avec les étiquettes <a>.Réaffecter onclick pour l'étiquette d'ancrage

Je dois réaffecter un événement onclick à cette balise, mais l'attribut href doit contenir un lien.

Par exemple, j'ai un lien:

<a href="http://en.wikipedia.org">Wikipedia</a> 

Et je dois changer seulement l'événement onclick pour ce lien de sorte que lorsque je clique dessus, une fonction JavaScript est appelé.

Répondre

3

Ne pas oublier de retourner faux « onclick », ou le navigateur se chargera et cliquez sur Ouvrir le lien dans href.

<a href="http://en.wikipedia.org" onclick="yourfunction(this); return false;" >Wikipedia</a> 
+0

qui appellera seulement la fonction mais ne redirigera pas vers en.wikipedia.org je pense – Sarfraz

+1

Il n'a pas dit qu'il a besoin de redirection :-) – Qwerty

+0

Oui, c'est vrai, je n'ai pas besoin de redirection :) C'était le problème) –

0

mais attribut href doit contenir un lien

Si vous fournissez un lien, la page sera redirigée là, alors vous pourriez vouloir le faire:

<a href="#" onclick="func1();func2();redirect('url');">Wikipedia</a> 

Ceci assure que vous effectuez d'abord vos fonctions et enfin la fonction redirect pour rediriger la page vers l'URL que vous spécifiez.

+1

javascript inline est mauvais. http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/ –

+0

@Tatu: vous avez raison, mais je ne voulais pas le débutant pour le rendre plus complexe. – Sarfraz

1

Je ne sais pas ce que vous voulez dire, mais essayez ceci:

$(function() { 
    // Find all links pointing to wikipedia 
    $("a[href*='wikipedia.org']").click(function() { 
     // Do something 
     return false; // to prevent the link from actually going to wikipedia 
    }); 
}); 
+0

l'utilisation de jquery pour modifier le gestionnaire onclick pour le lien unique est trop – Qwerty

+0

@Qwerty, comment, s'il utilise déjà jQuery? –

0

La façon la plus simple serait de donner votre lien d'un identifiant, à savoir

<a href="http://wikipedia.org" id="myLink">Whatever</a> 

Ensuite, il suffit assignez un onclick via jquery comme ceci:

$("a#myLink").click(function() { 
    //Go wild! 

});