2011-01-18 4 views
4

J'ai un clic au milieu d'un site avec le code comme <a href=“#“ onclick=“…sauts de page vers le haut onclick

La fonction fonctionne bien, mais a href = « # « nous allons la page toujours sauter vers le haut quand je Clique sur le lien. Y a-t-il un moyen de contourner cela?

Merci

Répondre

18

ajouter juste ; return false; à la fin de votre onclick, par exemple:

<a href="#" onclick="alert('hello'); return false;"> 

Modifier: La réponse de Hemlock est une bonne alternative, mais encore un autre est une combinaison des deux :

L'avantage de ceci est que vous dites explicitement que le <a> ne devrait rien faire avec le href, et le gestionnaire d'événement onclick est un attribut distinct. Si vous décidez plus tard d'attacher le gestionnaire onclick en utilisant JavaScript plutôt que de l'ajouter (recommandé), il suffit de supprimer l'attribut onclick.

+0

'href = "javascript:"' fonctionne pour moi aussi. N'est-ce pas la même chose que 'javascript: void (0)'? –

+0

@Nikita bonne question, je n'ai pas vu juste "javascript:" mais il semble fonctionner. Je n'ai pas IE à tester avec pour le moment cependant. –

+0

href = "javascript:" ne serait pas comme déclarer que c'est javascript et ne rien exécuter et quand vous ajoutez void (0) il exécute la fonction void qui fait: "L'opérateur void évalue l'expression donnée et retourne undefined" . https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/void –

4

Autre méthode

<a href="javascript: alert('hello'); void(0);"></a> 

Mettre le javascript dans le href et assurez-vous que le code se termine par un appel à void

0

si vous voulez un élément qui fait un peu onclick javascript, vous ne devriez pas utiliser la a tag. La balise a sert à la navigation d'une page à l'autre. Vous devez utiliser span et vous n'avez pas besoin de fournir un attribut href. Le problème réside dans le fait que vous avez choisi le mauvais élément HTML pour votre cas.

<span onclick=""></span> 
+2

La raison d'utiliser un élément focalisable pour un clic est la navigation au clavier, requise pour les sites accessibles. Un utilisateur peut tabuler un élément à mettre au point et appuyer sur Entrée pour le 'cliquer'. – kennebec

3

ajouter

return false; 

à la fin de l'instruction onclick

qui est

<a href="#" onclick="alert('test'); return false;"> Click Here </a> 
Questions connexes