Como fazer com que uma função JavaScript seja executada apenas ao clicar em um link

  • Autor Autor gmsegui
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
G

gmsegui

Dseda
Inserir CODE, HTML ou PHP:
<div id="mostrarDiv"><a href="javascript:mostrardiv();" onclick="javascript:pedro();">Mostrar Div</a></div>
<div id="flotante" style="display:none;"> 

<div style="display: none;" class="verify" id="verify">Contenido oculto</div> 
<div style="display: block;" class="adoptim" id="askPws"> 
<form name="counter"> 
Espere por favor... <input type="text" size="1" name="d2" class="countdown" /> Segundos 
</form>


<script type="text/javascript"> 
<!-- 
// 
var milisec=0 
var seconds=15 
var once=0 
document.counter.d2.value="15" 

function pedro(){ 
if ((milisec==0) && (seconds==0) && (once==0)) { 
document.getElementById("verify").style.display="block"; 
document.getElementById("dlb").style.display="block"; 
document.getElementById("askPws").style.display="none"; 
once=1; 
} 
if (milisec<=0){ 
milisec=9 
seconds-=1 
} 
if (seconds<=-1){ 
milisec=0 
seconds+=1 
} 
else 
milisec-=1 
document.counter.d2.value=seconds 
setTimeout("pedro()",100) 
} 
if ((milisec==0) && (seconds==0)) { 
pause(1000); 
pedro(); 
} else { 
pedro(); 
} 
--> 
</script>
</div>

Bueno ese es el codigo, mi problema es que pedro() se ejecuta automaticamente al cargar la pagina, yo quiero que se ejecute cuando hago click en "mostrar div" ... por eso puse el onclick... pero se ejecuta automaticamente..
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Si pudieras poner más parte del código. Hasta aquí el debugger solo me avienta un error porque no encuentra el elemento dlb. Y se ejecuta hasta que hago click en el enlace.

Te recomiendo que utilices algo así para agregar eventos.

function addEventHandler(elem,eventType,handler) {
if (elem.addEventListener)
elem.addEventListener (eventType,handler,false);
else if (elem.attachEvent)
elem.attachEvent ('on'+eventType,handler);
}

De esta forma tu código html queda más limpio. ejemplo

var link=document.getElementById("idenlace");
function mifuncion(){
--
}
addEventHandler(link,"click",mifuncion);
ó
addEventHandler(link,"click",function(){
-----
});
 
Hasta abajo tienes este codigo que llama a pedro():
PHP:
if ((milisec==0) && (seconds==0)) { 
	pause(1000); 
	pedro(); 
	} else { 
	pedro(); 
}

P.D: Quizas lo querias poner dentro de la funcion, pero esta fuera de ella, asi que aunque no le des click se llama a pedro().

Saludos!
 
Voltar
Topo