javascript - whatwg - w3c guide




Come chiamare javascript da un href? (8)

Eviterei del tutto javascript in linea e, come ho detto nel mio commento, probabilmente userei anche <input type="button" /> per questo. Detto ciò...

<a href="http://stackoverflow.com/questions/16337937/how-to-call-javascript-from-a-href" id="mylink">Link.</a>
var clickHandler = function() {
     alert('Stuff happens now.');   
}


if (document.addEventListener) {
    document.getElementById('mylink').addEventListener('click', clickHandler, false);
} else {
    document.getElementById('mylink').attachEvent('click', clickHandler);
}

http://jsfiddle.net/pDp4T/1/

Come chiamare javascript da un href?

piace:

<a href="<script type='text/javascript'>script code</script>/">Call JavaScript</a>

Il codice JavaScript viene generalmente chiamato dall'evento onclick di un collegamento. Ad esempio, potresti invece fare:

Nella sezione principale del documento HTML

<script type='text/javascript'>
function myFunction(){
//...script code
}
</script>

Nel corpo del documento HTML

<a href="#" id="mylink" onclick="myFunction(); return false">Call JavaScript </a>

In alternativa, puoi anche collegare la tua funzione al link usando l'ID dei collegamenti e HTML DOM o un framework come JQuery.

Per esempio:

Nella sezione principale del documento HTML

<script type='text/javascript'>
document.getElementById("mylink").onclick = function myFunction(){ ...script code};
</script>

Nel corpo del documento HTML

<a href="#" id="mylink">Call JavaScript </a>

Modifica Ciò creerà un collegamento con Modifica dopo aver fatto clic su modifica del nome di una funzione quando verrà chiamata la modifica .


Non sono sicuro del motivo per cui questo ha funzionato per me mentre nient'altro è stato fatto, ma nel caso in cui qualcun altro stia ancora guardando ...

Tra una testata e l'altra:

<script>
     function myFunction() {
           script code
     }
</script>

Quindi per il tag <a>:

<a href='' onclick='myFunction()' > Call Function </a>

Usare JQuery sarebbe buono;

<a href="#" id="youLink">Call JavaScript </a>



$("#yourLink").click(function(e){
//do what ever you want...
});

un altro modo è:

<a href="javascript:void(0);" onclick="alert('testing')">

 <a href="javascript:
  console.dir(Object.getOwnPropertyDescriptors(HTMLDivElement))">
       1. Direct Action Without Following href Link
  </a>

<br><br>

  <a href="javascript:my_func('http://diasmath.blogg.org')">
      2. Indirect Action (Function Call) Without Following Normal href Link
  </a>

<br><br>

 <!-- Avec « return false » l'action par défaut de l'élément
 // <a></a> (ouverture de l'URL pointée par
 // « href="http://www.centerblog.net/gha" »)
 // ne s'exécute pas.
 -->
 <a target=_new href="http://www.centerblog.net/gha"
          onclick="my_func('http://diasmath.blogg.org');
 return false">
     3. Suivi par défaut du Lien Normal href Désactivé avec
     « return false »
  </a>

<br><br>

 <!-- Avec ou sans « return true » l'action par défaut de l'élément
 // s'exécute pas.
 -->
 <a target=_new href="http://gha.centerblog.net"
          onclick="my_func('http://diasmath.blogg.org');">
     4. Suivi par défaut du Lien Normal href Conservé avec ou sans
     « return true » qui est la valeur retournée par défaut.
  </a>

<br><br>

<!-- Le diese tout seul ne suit pas le lien href. -->
  <a href="#" onclick="my_func('http://diasmath.blogg.org')">
      5. Lien Dièse en Singleton (pas de suivi href)
  </a>

  <script language="JavaScript">
   function my_func(s) {
       console.dir(Object.getOwnPropertyDescriptors(Document));
       window.open(s)
   }
  </script>

<br>
<br>

 <!-- Avec GESTION D'ÉVÉNEMENT.
 // Événement (event) = click du lien
 // Event Listener = "click"
 // my_func2 = gestionnaire d'événement
 -->
  <script language="JavaScript">
   function my_func2(event) {
      console.dir(event);
      window.open(event.originalTarget["href"])
   }
  </script>
 <a target=_blank href="http://dmedit.centerblog.net"
     id="newel" onclick="return false">
     6. By specifying another eventlistener
     (and deactivating the default).
  </a>
  <script language="JavaScript">
      let a=document.getElementById("newel");
      a.addEventListener("click",my_func2)
  </script>

<a href="javascript:call_func();">...</a>

dove la funzione deve quindi restituire false in modo che il browser non vada in un'altra pagina.

Ma io raccomanderei di usare jQuery (con $(...).click(function () {})) )







html