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');
Reynier ha dicho que…
no tenía ni idea, lo pruebo, muchas gracias
Unknown 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 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 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 ha dicho que…
Seria algo así

$(function(){
$(tu_selector).click();
})
Anónimo ha dicho que…
ni mierda es a lo que dice el titulo, el post mas malo que he visto...