web-dev-qa-db-fra.com

La balise HTML <a> souhaite ajouter les fonctions href et onclick qui fonctionnent

J'aimerais poser des questions sur les balises HTML 

<a href="www.mysite.com" onClick="javascript.function();">Item</a>

Comment faire en sorte que cette balise a fonctionne avec href et onClick ? (préférez onClick en premier puis href)

100
user1589113

Vous avez déjà ce dont vous avez besoin, avec un changement de syntaxe mineur:

<a href="www.mysite.com" onclick="return theFunction();">Item</a>

<script type="text/javascript">
    function theFunction () {
        // return true or false, depending on whether you want to allow the `href` property to follow through or not
    }
</script>

Le comportement par défaut des propriétés onclick et href de la balise <a> consiste à exécuter la onclick, puis à suivre la href tant que la onclick ne renvoie pas false, en annulant l'événement (ou l'événement n'a pas été empêché).

198
Ian

Utilisez jQuery . Vous devez capturer l'événement click puis accéder au site Web.

$("#myHref").on('click', function() {
  alert("inside onclick");
  window.location = "http://www.google.com";
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" id="myHref">Click me</a>

8
Sudipta Chatterjee

Utilisez ng-click à la place de onclick. et c'est aussi simple que cela:

<a href="www.mysite.com" ng-click="return theFunction();">Item</a>

<script type="text/javascript">
function theFunction () {
    // return true or false, depending on whether you want to allow 
    // the`href` property to follow through or not
 }
</script>
0
mak-273

Pour atteindre cet usage, utilisez le code HTML suivant:

<a href="www.mysite.com" onclick="make(event)">Item</a>

<script>
    function make(e) {
        // ...  your function code
        // e.preventDefault();   // use this to NOT go to href site
    }
</script>

Voici exemple de travail .

0
Kamil Kiełczewski