2010-11-08 19 views
16

¿Cómo puedo hacer clic automáticamente en el enlace en la carga de la página? Lo he estado intentando durante años pero el id no funciona.Jquery o javascript auto haga clic en

<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

Tiene jQuery en el título y en las etiquetas, pero Prototype en el código. ¿Qué deseas? – lonesomeday

+1

puede llamar al código de clic en la carga de la página por $ (documento) .ready (función() {}) – XMen

+0

estaba intentando algo más allí, entonces olvidé que era por eso que tenía Prototype – emre

Respuesta

52

No ha proporcionado su código de JavaScript, pero la causa habitual de este tipo de problema no está esperando hasta que se cargue la página. Recuerde que la mayoría de los javascript se ejecutan antes de que se cargue el DOM, por lo que el código que intenta manipularlo no funcionará.

para ejecutar código después de que la página ha terminado de cargar, utilizar el $ (document) de devolución de llamada ready:

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

cómo ejecutar el código de clic con javascript? – user3770797

0

¿Está intentando hacer que una ventana emergente funcione? No sé cómo emular el clic, quizás puedas intentar disparar el evento de clic de alguna manera, pero no sé si es posible. Lo más probable es que dicha funcionalidad no se implemente debido a problemas de seguridad y privacidad.

Puede usar div con la posición: absoluta para emular la ventana emergente en la misma página. Si insistes en crear otra página, no puedo ayudarte. Tal vez alguien más con más experiencia agregará sus 15 centavos.

1

En jQuery puede desencadenar un clic de la siguiente manera:

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

Más aquí:

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

Si desea hacer lo mismo usando prototipo, parece esto:

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

Aunque .trigger() simula un evento la activación, completa con un objeto de evento sintetizado, no replica perfectamente un evento natural. –

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

Supongamos que esto funcionaría también.

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

hicieron el truco.

2

Primero probé con este código de ejemplo:

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

No funcionó para mí. Luego, intenté con esto

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

Sin cambios. Por último, intentado con este

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

Ha solucionado mi problema. Útil para todos.

Cuestiones relacionadas