$(‘a’).trigger(‘clic’); no funciona

2 minutos de lectura

Avatar de usuario de Hello-World
Hola Mundo

¿Cómo hago clic en jquery? <a href="https://stackoverflow.com/questions/17105015/test.zip" id="mylink">test</a>

<script>
    // this wont work
    $('#mylink').trigger('click'); 
</script>

por favor puedes ayudar

  • que esperas que pase aqui

    – Arun P Johny

    14 de junio de 2013 a las 9:13

  • la descarga debe comenzar automáticamente – gracias

    – Hola Mundo

    14 de junio de 2013 a las 9:15

  • que esperas que pase? El código que tienes es para disparar un evento. No está simulando al usuario haciendo clic en el enlace.

    – Runa FS

    14 de junio de 2013 a las 9:16

Si su intención es navegar a la URL especificada como si el usuario hubiera hecho clic en el enlace, intente llamar al DOM .click() método en lugar de jQuery .click() método:

$('#mylink')[0].click();

El jQuery .click() llamará a los controladores de eventos que ha vinculado pero no causará el comportamiento de clic predeterminado.

$(document).ready(function(){
    $('#mylink').trigger('click');
});

Avatar de usuario de Broxzier
Broxzier

Necesita activar el valor predeterminado click método, no el de jQuery. Esto se puede hacer agregando la opción de clic predeterminada dentro de un evento de clic de jQuery usando this.

<a href="http://about.com/"></a>

Así es como se ve el JavaScript. Básicamente, crea el evento cuando el DOM está listo y hace clic en él de forma intermedia, siguiendo así el enlace.

$(function() {
    $('a').click(function() {
        // 'this' is not a jQuery object, so it will use
        // the default click() function
        this.click();
    }).click();
});

Para ver un ejemplo en vivo (abrir about.com), consulte: http://jsfiddle.net/8H9UX/

avatar de usuario de leepowell
leepowell

Debe esperar hasta que el DOM haya terminado de cargarse. Esto se puede hacer con jQuery. La función anónima se ejecuta al cargar la página una vez que todos los elementos están disponibles en el DOM.

<script>
    $(function() {
        $('#mylink').trigger('click');
    });
</script>

Avatar de usuario de Emil A.
emilio a

Simplemente haga click:

$("#mylink").click();

Si sus secuencias de comandos están en la cabecera, debe asegurarse de que el elemento exista, por lo que la secuencia de comandos debe ejecutarse cuando el documento esté listo.

$(document).ready(function () {
    $("#mylink").click();
});

Avatar de usuario de Murat Kezli
Murat Kezli

prueba esto

setTimeout(() => {
$("#mylink")[0].click();
}, 500);

Avatar de usuario de Arun P Johny
Arun P Johny

Si espera que se descargue el archivo, no sucederá porque desencadenar() no activará el evento predeterminado.

¿Ha sido útil esta solución?