clic automático de jQuery o JavaScript

3 minutos de lectura

avatar de usuario
EMRe

¿Cómo puedo hacer clic automáticamente en el enlace al cargar la página? Lo he estado intentando durante mucho tiempo, pero la identificación no funciona.

<link rel="stylesheet" type="text/css" href="https://stackoverflow.com/questions/4123516/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>

  • Tiene jQuery en el título y en las etiquetas, pero prototipo en el código. ¿Qué quieres?

    – algún día solitario

    8 de noviembre de 2010 a las 11:48

  • puede llamar al código de clic en la carga de la página mediante $(document).ready(function(){})

    – X Men

    8 de noviembre de 2010 a las 11:54

  • Estaba intentando algo más allí y luego olvidé que es por eso que tenía Prototype.

    – EMRe

    9 de noviembre de 2010 a las 1:10

No ha proporcionado su código javascript, pero la causa habitual de este tipo de problema es no esperar a que se cargue la página. Recuerde que la mayoría de javascript se ejecuta antes de que se cargue el DOM, por lo que el código que intente manipularlo no funcionará.

Para ejecutar el código después de que la página haya terminado de cargarse, use la devolución de llamada $(document).ready:

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

Primero probé con este código de muestra:

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

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

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

Ningún cambio. Por fin probé con esto

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

Resolvió mi problema. Útil para cualquier persona.

  • esta es la solución)

    – Nessi

    13 de marzo de 2020 a las 11:43

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

Hizo el truco.

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

Supongamos que esto también funcionaría.

En jQuery puede desencadenar un clic como este:

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

Más aquí:

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

Si quieres hacer lo mismo usando prototipose parece a esto:

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

  • Aunque .trigger() simula la activación de un evento, completo con un objeto de evento sintetizado, no replica perfectamente un evento que ocurre naturalmente.

    – Borís Hamanov

    8 de noviembre de 2010 a las 11:59

avatar de usuario
Boris Hamanov

¿Estás tratando de hacer que una ventana emergente funcione tal vez? No sé cómo emular el clic, tal vez puedas intentar activar el evento de clic de alguna manera, pero no sé si es posible. Lo más probable es que dicha funcionalidad no esté implementada debido a problemas de seguridad y privacidad.

Puede usar div con position:absolute para emular una 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 agregue sus 15 centavos.

  • Aunque .trigger() simula la activación de un evento, completo con un objeto de evento sintetizado, no replica perfectamente un evento que ocurre naturalmente.

    – Borís Hamanov

    8 de noviembre de 2010 a las 11:59

¿Ha sido útil esta solución?