5 Stimmen

Wie kann man die Standard-Aktion/das Standard-Ereignis eines HTML-Links (Anker-Element) auslösen?

Wie kann man die Standardaktion/das Standardereignis eines HTML-Links (Ankerelement) auslösen? Das heißt, JavaScript/jQuery zu verwenden, um einen vorhandenen HTML-Link zu "klicken", als ob der Benutzer ihn angeklickt hätte.

Nur mit .click() scheint nicht zu funktionieren.

$('#alink').click();
// the nothing happening

Für dieses HTML:

<a id="alink" href="http://google.com" target="_blank">a link</a>

Beispiel Fiedel: http://jsfiddle.net/dCfD8/

Ich würde lieber kein neues Fenster in JavaScript erstellen (und mich um alles andere kümmern, was beim Anklicken eines Links behandelt werden muss).

2voto

Jose Faeti Punkte 11753

Sie können das Klick-Ereignis mit einer einfachen trigger Methode in jQuery.

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

Beachten Sie aber, dass auch in das Ereignis ausgelöst wird, wird der Browser nicht folgen Sie den Link href. Der einzige Weg, um die href zu folgen ist, tatsächlich klicken Sie es mit der Maus selbst.

Soweit ich weiß, kann man nicht erzwingen, dass sich ein Link so verhält, als ob er angeklickt würde. Sie müssen den Speicherort des Dokuments oder etwas Ähnliches ändern, um tatsächlich zwischen Seiten zu navigieren.

1voto

RoToRa Punkte 36443

Erweiterung des Kommentars von Fabio Cicerchia zu seinem eigenen Beitrag: Sie können window.open :

var link = $('#alink');
var target = link.attr("target");
window.open(link.attr("href"), target ? target : "_self");

0voto

    <script src='jquery lib source' ></script>
    <script>
    function force()
    {    ...do something...to fill page2
         $('#gopage2').trigger('submit');
    }    
    </script>  
    <form action='#page2' id='gopage2'>
    </form>

    ...
    <span name='#page2'>This is page2</span>

-1voto

Fabio Cicerchia Punkte 639

Versuchen Sie dies:

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X