Me gustaría preguntar sobre la etiqueta HTML
<a href="www.mysite.com" onClick="javascript.function();">Item</a>
¿Cómo hacer que esta sea una etiqueta que funcione con href y onClick ? (prefiera onClick corriendo primero y luego href)
Me gustaría preguntar sobre la etiqueta HTML
<a href="www.mysite.com" onClick="javascript.function();">Item</a>
¿Cómo hacer que esta sea una etiqueta que funcione con href y onClick ? (prefiera onClick corriendo primero y luego href)
Respuestas:
Ya tiene lo que necesita, con un pequeño cambio de sintaxis:
<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>
El comportamiento predeterminado de las <a>
etiquetas onclick
y href
propiedades es ejecutar el onclick
, luego seguir el href
mientras onclick
no regrese false
, cancelando el evento (o el evento no se ha evitado)
href="#"
allí en lugar de una URL real.
Usa jQuery . Debe capturar el click
evento y luego ir al sitio 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
atributo significativo .
Para lograr esto, use el siguiente 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>
Aquí está el ejemplo de trabajo .
<a href="http://example.com" >Item</a>
y en Chrome veo un mensaje para permitir que la página ejecute este enlace (alerta al final de la barra de URL de Chrome). En el safari en la consola, veo una advertencia: [bloqueado] La página en fiddle.jshell.net/_display no tenía permitido mostrar contenido inseguro de example.com , por lo que probablemente sea un problema de seguridad (¿solo en el violín?)
No se necesita jQuery.
Algunas personas dicen que usar onclick
es una mala práctica ...
Este ejemplo utiliza JavaScript puro del navegador. De forma predeterminada, parece que el controlador de clics evaluará antes de la navegación, por lo que puede cancelar la navegación y hacer la suya propia si lo desea.
<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>
Uso ng-click
en lugar de onclick
. y es tan simple como eso:
<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>