2010-11-08 18 views
16

Come posso fare clic sul link al caricamento della pagina? ho cercato per secoli ma id non funziona.Jquery o javascript auto click

<link rel="stylesheet" type="text/css" href="leightbox.css" /> 
<script type="text/javascript" src="prototype.js"></script> 
<script type="text/javascript" src="leightbox.js"></script> 
</head> 

<body> 


<div class="content"> 
<p> <a href="#" class="lbOn" rel="pop02">Click here to activate leightbox popup.</a></p> 
</div> 



<!----------// POPUP (ON CLICK) //----------> 
<div id="pop02" class="leightbox"> 
<a href="#" class="lbAction" rel="deactivate">×</a> 

<div class="scrollbox"> 
<h1>This popup loads upon clicking a trigger link.</h1> 
text</div> 
</div> 

</body> 
+5

Hai jQuery nel titolo e nei tag, ma Prototipo nel codice. Cosa vuoi? – lonesomeday

+1

puoi chiamare il codice click on al caricamento della pagina da $ (document) .ready (function() {}) – XMen

+0

stavo cercando qualcos'altro lì poi ho dimenticato che è per questo che avevo Prototype – emre

risposta

52

Non hai fornito il tuo codice javascript, ma la solita causa di questo tipo di problema non è l'attesa finché la pagina non viene caricata. Ricorda che la maggior parte dei javascript viene eseguita prima che il DOM venga caricato, quindi il codice che tenta di manipolarlo non funzionerà.

per eseguire il codice dopo che la pagina ha terminato il caricamento, utilizzare il $ (document) callback .ready:

$(document).ready(function(){ 
    $('#some-id').trigger('click'); 
}); 
+0

come eseguire il codice di clic con javascript? – user3770797

0

Si sta tentando di far funzionare un popup? Non so come emulare il clic, forse puoi provare a far scattare l'evento click in qualche modo, ma non so se sia possibile. Più che probabile tale funzionalità non è implementata, a causa di problemi di sicurezza e privacy.

È possibile utilizzare div con posizione: assoluto per emulare popup nella stessa pagina. Se insisti a creare un'altra pagina, non posso aiutarti. Forse qualcun altro con più esperienza aggiungerà i suoi 15 centesimi.

1

In jQuery è possibile attivare uno scatto come questo:

$('#foo').trigger('click'); 

Maggiori informazioni qui:

http://api.jquery.com/trigger/

Se si vuole fare lo stesso utilizzando prototipo, sembra this:

$('foo').simulate('click'); 
+0

Anche se .trigger() simula un evento l'attivazione, completa di un oggetto evento sintetizzato, non replica perfettamente un evento che si verifica in natura. –

3
$(document).ready(function(){ 
    $('.lbOn').click(); 
}); 

Suppongo che questo avrebbe funzionato troppo.

2
$(document).ready(function(){ 
    $('#some-id').trigger('click'); 
}); 

ha fatto il trucco.

2

Prima ho provato con questo codice di esempio:

$(document).ready(function(){ 
    $('#upload-file').click(); 
}); 

Non ha funzionato per me. Poi, provate con questo

$(document).ready(function(){ 
    $('#upload-file')[0].click(); 
}); 

Nessuna modifica. Finalmente, provato con questo

$(document).ready(function(){ 
    $('#upload-file')[0].click(function(){ 
    }); 
}); 

risolto il mio problema. Utile per chiunque.