Vorrei chiedere informazioni sui tag HTML
<a href="www.mysite.com" onClick="javascript.function();">Item</a>
Come rendere questo un tag di lavoro con href e onClick ? (preferisci onClick in esecuzione prima poi href)
Vorrei chiedere informazioni sui tag HTML
<a href="www.mysite.com" onClick="javascript.function();">Item</a>
Come rendere questo un tag di lavoro con href e onClick ? (preferisci onClick in esecuzione prima poi href)
Risposte:
Hai già quello che ti serve, con una piccola modifica alla sintassi:
<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>
Il comportamento predefinito dei <a>tag onclicke delle hrefproprietà è eseguire il onclick, quindi seguire il hreffinché onclicknon ritorna false, annullando l'evento (o l'evento non è stato impedito)
href="#"lì invece di un vero URL.
Usa jQuery . Devi catturare l' clickevento e poi andare sul sito 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>
hrefattributo significativo .
Per ottenere questo, utilizzare il seguente html:
<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>
Ecco un esempio funzionante .
<a href="http://example.com" >Item</a>e in Chrome vedo un messaggio per consentire alla pagina di eseguire questo collegamento (avviso alla fine della barra degli URL di Chrome). In Safari in console vedo un avviso: [bloccato] La pagina su fiddle.jshell.net/_display non poteva mostrare contenuti non sicuri da example.com - quindi probabilmente questo è un problema di sicurezza (solo su violino?)
Non è necessario jQuery.
Alcune persone dicono che l'uso onclickè una cattiva pratica ...
Questo esempio utilizza javascript puro del browser. Per impostazione predefinita, sembra che il gestore dei clic valuterà prima della navigazione, quindi puoi annullare la navigazione e fare la tua se lo desideri.
<a id="myButton" href="http://google.com">Click me!</a>
<script>
window.addEventListener("load", () => {
document.querySelector("#myButton").addEventListener("click", e => {
alert("Clicked!");
// Can also cancel the event and manually navigate
// e.preventDefault();
// window.location = e.target.href;
});
});
</script>
Utilizzare ng-clickal posto di onclick. ed è così semplice:
<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>