Come chiamare la funzione JavaScript al posto di href in HTML

Ho qualche mockup in HTML

next page 

Ho ricevuto la risposta dal server quando ho inviato la richiesta.

Con questo mockup ho ricevuto una risposta alla richiesta AJAX che invia il mio codice al server.

Bene, tutto va bene ma quando clicco sul link il browser vuole aprire la funzione come link; significato dopo clic vedo la barra degli indirizzi come

 javascript:ShowOld(2367,146986,2) 

significa browser cosa che è url se voglio farlo in firebug che funziona. Ora voglio farlo quando qualcuno fa clic sul link, quindi il browser tenta di chiamare la funzione già caricata nel DOM invece di provare ad aprirli nel browser.

Solutions Collecting From Web of "Come chiamare la funzione JavaScript al posto di href in HTML"

Questa syntax dovrebbe funzionare bene, ma puoi provare questa alternativa.

  

o

  

Se hai solo come “gestore di eventi click”, usa invece un . Un link ha un significato semantico specifico.

Per esempio:

  

Prova a rendere il tuo javascript discreto:

  • dovresti usare un link reale nell’attributo href
  • e aggiungi un ascoltatore all’evento click per gestire ajax
 href="#" onclick="javascript:ShowOld(2367,146986,2) 

Dovresti anche separare il javascript dall’HTML.
HTML:

 next page 

javascript:

 myLink = document.getElementById('function-click'); myLink.onclick = ShowOld(2367,146986,2); 

Assicurati che l’ultima riga nella funzione ShowOld sia:

 return false; 

in quanto ciò interromperà il collegamento dall’apertura nel browser.

Io uso un po ‘di CSS su una span per farlo apparire come un link come questo:

CSS:

 .link { color:blue; text-decoration:underline; cursor:pointer; } 

HTML:

 Click Me 

Javascript:

 function showWindow(url) { window.open(url, "_blank", "directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes"); }