Comment puis-je désactiver HREF si onclick est exécuté?
J'ai un point d'ancrage avec les deux HREF
et ONCLICK
attributs définis. Si vous cliquez dessus et Javascript est activé, je veux qu'il seulement exécuter ONCLICK
et ignorer HREF
. De même, si le Javascript est désactivé ou non supporté, j'ai envie de suivre la HREF
URL et d'ignorer ONCLICK
. Ci-dessous est un exemple de ce que je fais, ce qui permettrait d'exécuter du JS et suivez le lien simultanément (généralement le JS est exécuté, puis le changement de page):
<A HREF="http://example.com/no-js-login" ONCLICK="yes_js_login()">Log in</A>
quelle est la meilleure façon de le faire?
Je suis l'espoir d'un Javascript réponse, mais je vais accepter la méthode, aussi longtemps que cela fonctionne, surtout si cela peut être fait avec PHP.
J'ai lu "a href lien exécute et redirige la page avant de javascript onclick fonction est en mesure de terminer" déjà, mais il ne fait que retarder HREF
, mais n'est pas complètement désactiver. Je suis également à la recherche de quelque chose de beaucoup plus simple.
- Je voudrais l'utiliser pour ancre avec un href et un sans. Au chargement de la page vérifier si javascript est activé, si c'est de leur montrer le bon ancrage d'autre pour montrer aux autres.
- Pourquoi? Qui sonne comme un terrible beaucoup de balisage pour une simple fonctionnalité.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser la première des nations unies-édité solution, si vous mettez retour en premier dans la
onclick
attribut:Exemple: https://jsfiddle.net/FXkgV/289/
Si vous return false il doit prévenir l'action par défaut (aller à le href).
Edit: Désolé cela ne semble pas fonctionner, vous pouvez faire ce qui suit:
onclick="return yes_js_login();"
avecyes_js_login
retourfalse
event.stopImmediatePropagation()
Il suffit de désactiver par défaut le comportement du navigateur à l'aide de
preventDefault
et passer leevent
dans votre code HTML.<a href=/foo onclick= yes_js_login(event)>Lorem ipsum</a>
avec jQuery:
avec JavaScript
Vous assigner classe
.ignore-click
pour autant d'éléments que vous aimez et clique sur ces éléments seront ignorés.btn-loading
est ajouté au lien cliqué, puis en cas de succès, une coche(sur une erreur X) remplace l'animation de chargement. Je ne veux pas le bouton pour être en mesure d'être cliqué de nouveau dans certains cas(pour les deux succès et erreur), à l'aide de ce que je peux simplement$(elemnent).addClass('disabled')
et facilement obtenir la fonctionnalité j'étais à la recherche d'une manière élégante!Vous pouvez utiliser ce code simple:
C'est plus simple si vous passez un paramètre d'événement comme ceci:
J'ai résolu une situation où j'avais besoin d'un modèle pour l'élément qui permettrait de gérer alternativement régulièrement une URL ou d'un appel javascript, où la js fonction des besoins d'une référence à l'élément appelant. En javascript", cela" fonctionne comme une auto-référence uniquement dans le contexte d'un élément de formulaire, par exemple, un bouton. Je ne voulais pas d'un bouton, il suffit de l'apparence d'un lien régulier.
Exemples:
Le href et onClick attributs ont les mêmes valeurs, sauf que j'y ajoute "return false" onClick sur quand c'est un appel javascript. Avoir "return false" dans la fonction appelée n'a pas de travail.
HREF
?Cela peut vous aider.
Pas de JQuery nécessaire
Ce code est le suivant:
Passer le lien relatif à Google Docs Viewer
this.href
Si dans votre cas, cela peut fonctionner:
Cela a fonctionné pour moi:
Dans mon cas, j'ai eu une maladie lorsque l'utilisateur clique sur le "a" de l'élément. La condition était:
Si d'autres n'y a plus de dix articles, l'utilisateur ne doit pas être redirigé vers une autre page.
Si d'autres de la section a de moins en moins de dix articles, puis l'utilisateur doit être redirigé vers une autre page.
La fonctionnalité de la "une" des éléments dépend de l'autre composant. Le code à l'intérieur d'événement click est le suivre: