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 onclick
e delle href
proprietà è eseguire il onclick
, quindi seguire il href
finché onclick
non ritorna false
, annullando l'evento (o l'evento non è stato impedito)
href="#"
lì invece di un vero URL.
Usa jQuery . Devi catturare l' click
evento 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>
href
attributo 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-click
al 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>