¿Hay una manera de simular un clic en un enlace después de haber hecho clic en otro?

He hecho este script:

$(".uno").click(function() {
    $(".due")[0].click();
});

Fiddle: https://jsfiddle.net/5ad3m8La/

Cuando hago clic en "uno" quiero "dos", abra la página como se indica. Mi guión no funciona y no entiendo por qué.

1
Eugenio Segala 12 may. 2016 a las 13:34

4 respuestas

La mejor respuesta

Actualiza tu violín. Actualizado uno https://jsfiddle.net/5ad3m8La/2/

Se hicieron algunos cambios a continuación:

1. Added target="blank" in link.
2. Added http:// before google's link.
3. Wrapped your code in document.ready.

Y está funcionando ahora :)

2
Ankush Jain 12 may. 2016 a las 11:01
$(".uno").click(function(e) {
  e.preventDefault();
  location.href = $('.due').attr('href');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" class="uno">One</a>
<a href="google.it" class="due">Two</a>

Esto no es lo mismo que emular un clic, pero de esta manera el comportamiento es el mismo que hacer clic en otro linke (sin un código especial adjunto)

0
online Thomas 12 may. 2016 a las 10:46

Prueba esto:

<a href="#" class="uno">One</a>
<a href="http://www.google.com" class="due">Two</a>

Jquery:

$( ".uno" ).click(function() {
    $('.due').trigger("click");
});

$( ".due" ).click(function() { 
    var link= $(this).attr("href"); // you need to ger href and redirect to that link
    window.location.href = link;
});
0
marc_s 12 may. 2016 a las 18:15

Prueba el siguiente código:

$('.due').trigger('click');
0
CherryDT 12 may. 2016 a las 10:49