Clicks automáticos con jQuery

JQuery trae por defecto la función .click() la cual se encarga como bien dice su nombre de dos cosas:
  • redefinir las acciones que queremos realizar al hacer click sobre cada elemento
  • lanzar este evento si no se define nada en su interior
Sobre el punto 2 es el que quiero hacer hincapié y sobre todo en los tag <a>. Supongamos que tenemos la siguiente línea:
<a href='url' id='enlace'>ir a url</a>
Si hacemos $(‘#enlace’).click() es de suponer que simulara el click sobre el enlace y se abriera la nueva página, pero no; para ello tenemos que definir previamente el evento click para el enlace porque sino jQuery interpreta que esta vacío y no hace nada. La solución para lanzar el evento click, tomada de osdir.com, es la siguiente:
// definimos lo que queremos hacer en el click primero 
$("#enlace").click(function() { 
     location.href = this.href; // ir al link 
});
// lanzamos la llamada al evento click
$("#enlace").click();
También se puede recurrir al location de toda la vida:
window.location = $('#enlace').attr('href');
Indistintamente podemos utilizar windows.location que location.href. ¿Se os ocurre otra idea?

Comentarios

cardaba713 ha dicho que…
puedes usar $('#idelemento').trigger('click');
no tenía ni idea, lo pruebo, muchas gracias
David Rafael Blanco Leon ha dicho que…
Gracias por el Aporte. David Rafael Blanco Leon. Caracas Venezuela.
agk ha dicho que…
Como se usaria si tuviera un elemento
button ???
Reynier de la Rosa ha dicho que…
No entiendo a que te refieres
agk ha dicho que…
Si tengo un elemento button en la pagina, como le haria click con codigo, no haciendole click al boton directamente.
Reynier de la Rosa ha dicho que…
El primer comentario lo responde sino lo que puedes hacer tambien es llamar al método click() de jquery directamente, si no se le pasan parámetros lo que hace es lanzar el evento.
Alberto ha dicho que…
Muy buenas, yo lo que necesito es que al entrar un usuario a mi sitio automáticamente de click en cualquier sector de mi pagina web. Cómo sería un ejemplo de eso?? Desde ya muchas gracias
Reynier de la Rosa ha dicho que…
Seria algo así

$(function(){
$(tu_selector).click();
})