2013-03-01 12 views
32

Ich habe eine Webanwendung, die Zeilen mit go und delete Schaltflächen anzeigt.Öffnen Sie neue Registerkarte (Fenster) durch Klicken auf einen Link in Jquery

Wenn ein Benutzer auf go klickt, sollte er ein neues Register/Fenster mit einer aus den Daten der Zeile erstellten URL öffnen.

wie kann ich das in jquery tun? Was ich tue, ist:

$('.go').click(function() { 
    var wid = {{ wid|tojson|safe }}; 
    var sid = $(this).prop('id'); 
    url = $script_root + '/' + wid + '/' + sid; 

    // go to url 
}); 

einige Update:

Was ich wirklich zu erreichen Tring dynamisch href eines <a> Element aktualisiert wird.

<a id="foo" href="#">foo</a> 
<script type="text/javascript> 
$('#foo').click(function() { 
    $(this).prop('href', 'http://www.google.com/'); 
}); 
</script> 

, die nicht (Geige: http://jsfiddle.net/6eLjA/) funktioniert

+0

ist es nicht jQuery-Code.? –

+0

Sie können "_blank" beim Aufruf von window.open angeben –

+0

Besuchen Sie http://StackOverflow.com/Questions/7554108/javascript-window-location-in-new-tab –

Antwort

85

Try this:

window.open(url, '_blank'); 

Dies wird in einem neuen Tab öffnen (wenn Ihr Code synchron und in diesem Fall ist es ist. in anderen Fällen würde es ein Fenster öffnen)

+0

Was meinen Sie mit * wenn Ihr Code synchron ist * ? – VisioN

+6

@VisioN Dieser Code öffnet keine neue Registerkarte: $ .get ('satururl', function() {window.open ('anotherurl', '_blank';}), es wird ein Fenster geöffnet, weil die ajax-Anfrage asynchron ist Standard (Sie können es ändern) – karaxuna

+1

Ich bekomme eine Warnung in Google Chrome sagen, dass ein "Pop-up" blockiert wurde. Irgendwelche Hilfe dabei? Gibt es einen Weg, um es zu umgehen? – RPDeshaies

Verwandte Themen