Hola
anlhp.
No del todo. Cualquier navegador va a darle prioridad a la ación por defecto del vinculo que es ir a la dirección de su atributo
href.
Te voy a mostrar 2 opciones:
Código HTML:
<a href="cosa.php" onclick="return funcion()">Click</a>
donde la función tiene el siguiente código:
Código PHP:
function funcion()
{
//código cualquiera
return false;
}
Como puedes ver el
onclick tiene como valo
return funcion(). y la funcion como tal devuelve
false. lo que va a suceder es que gracias a esta combinación se le dice al navegador que nunca se hizo clic sobre el vínculo y solo ejecuta la la función que deseemos.
Hay otra opción más accesible, usable y debería ser la que utilizaras. Es un poco más compleja pero espero que me comprendas algunas partes que son clave:
Código HTML:
<!--cambio el atributo onclick por un id-->
<a href="cosa.php" id="vinculoafuncion">Click</a>
Código javascript
:
Código PHP:
//la función sigue igual
function funcion()
{
//código cualquiera
return false;
}
//window.onload lo que hace es ejecutar una función
//cuando se termine de cargar la página. Es la versión no invasiva de onload
window.onload = function() {
/*
cuando se cargue la página asigne al evento click del vinculo con id "vinculoafuncion" una funcion. Osea que cuando se haga clicl sobre el vinculo ejecute la funcion.
*/
document.getElementById( "vinculoafuncion" ).onclick = function(){
/*
hago el llamado a la funcion y cancelo el evento del click
ya que nuestra funcion devolvera false
*/
return funcion();
}
}
Espero no ir muy rápido, puedes usar cualquiera de las dos, igual ambas son accesibles pero como se que eres nuevo sería bueno que usaras la primera pero que tuvieras en cuenta la segunda.
Exitos y si no comprender o necesitas más ayuda no dudes en consultarnos