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
button ???
$(function(){
$(tu_selector).click();
})