it-swarm.com.de

Klicken Sie mit jQuery programmatisch auf einen <a> -Link

Ich weiß, dass diese Frage schon einmal gestellt wurde, aber nach einer Suche im Internet kann ich keine direkte Antwort finden.

das HTML

<a id=myAnchor href=index.php>

die jQuery (Beide funktionieren nicht)

 $('#myAnchor').click();

oder 

$('#myAnchor').trigger('click');

Was ist der einfachste und effizienteste Weg, um dies zu erreichen?

52
Stephen Croft

Versuche dies:

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

Für mich geht das.

86
user3346133
window.location = document.getElementById('myAnchor').href
32
user1106925

Klick löst nur das Klickereignis/die Klickereignisse aus, nicht die eigentliche Aktion "goto-the-links-href".

Sie müssen Ihren eigenen Handler und dann Ihr $ ('# myAnchor'). Auslösen. ('Click'); wird funktionieren...

$("#myAnchor").click(function(event)
{
  var link = $(this);
  var target = link.attr("target");

  if($.trim(target).length > 0)
  {
    window.open(link.attr("href"), target);
  }
  else
  {
     window.location = link.attr("href");
  }

  event.preventDefault();
});
25
bang
<a href="#" id="myAnchor">Click me</a>

<script type="text/javascript">
$(document).ready(function(){
    $('#myAnchor').click(function(){
       window.location.href = 'index.php';
    });
})
</script>
4
aki

Ich habe einige der oben genannten Lösungen ausprobiert, aber sie funktionierten nicht für mich. Hier ist ein Link zu der Seite, die für mich funktionierte automatisch auf einen Link klicken

Der Link oben hat viele Lösungen und hier ist die, die für mich funktioniert hat,

    <button onclick="fun();">Magic button</button>

    <!--The link you want to automatically click-->
    <a href='http://www.ercafe.com' id="myAnchor">My website</a>

Jetzt innerhalb der <script>-Tags

<script>

     function fun(){
          actuateLink(document.getElementById('myAnchor'));
     }

     function actuateLink(link)
     {
          var allowDefaultAction = true;

          if (link.click)
          {
              link.click();
              return;
          }
          else if (document.createEvent)
          {
              var e = document.createEvent('MouseEvents');
              e.initEvent(
                   'click'     // event type
                   ,true      // can bubble?
                   ,true      // cancelable?
              );
              allowDefaultAction = link.dispatchEvent(e);           
          }

          if (allowDefaultAction)       
          {
              var f = document.createElement('form');
              f.action = link.href;
              document.body.appendChild(f);
              f.submit();
          }
    }

</script>

Kopieren Sie den obigen Code und klicken Sie auf die Schaltfläche 'Magic button'. Sie werden zu ErCafe.com weitergeleitet.

4
Saumil

Fügen Sie onclick="window.location = this.href" zu Ihrem <a>-Element hinzu. Nach dieser Änderung kann es mit erwartetem Verhalten .click()ed werden. Um dies mit jedem Link auf Ihrer Seite zu tun, können Sie Folgendes hinzufügen:

<script type="text/javascript">
    $(function () {
        $("a").attr("onclick", "window.location = this.href");
    });
</script>
2
polkovnikov.ph

Versuchen Sie dies aus Gründen der Kompatibilität.

<script type="text/javascript">
        $(function() {
            setTimeout(function() {
                window.location.href = $('#myAnchor').attr("href");

            }, 1500);
        });
    </script>
0
Venkat

Wenn Sie jQuery verwenden, können Sie dies mit jQuery.triggerhttp://api.jquery.com/trigger/ tun.

Beispiel

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript" src="https://code.jquery.com/jquery-2.2.3.js"></script>
</head>
<body>
    <a id="foo" onclick="action()"></a>
    <script type="text/javascript">
        function action(){
            window.location.replace("http://stackoverflow.com/q/9081426/5526354")
        }

        $("#foo").trigger("click");
    </script>
</body>
</html>
0
Mikhail