Link öffnen in neuem Fenster mit Jquery
Ich versuche zu öffnen, ein paar links in einem neuen Fenster mit Jquery statt _blank, damit meine html-bleibt gültig. Mein code sieht wie folgt aus:
$(document).ready(function() {
$('a[id="external-url"]').click(function(){
$(this).attr('target','_blank');
});
});
Das funktioniert gut, außer wenn Sie auf den link enthaltenen html ich auf die Seite mit der Jquery load () - Methode. Kann mir jemand erklären, warum, und bitte helfen Sie mit einer Lösung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Update:, Wenn Sie dies Lesen, in einer HTML5+ Welt die
target
- Attribut ist nicht mehr veraltet (nicht mehr fehlen, um genauer zu sein) als es wurde in XHTML 1.0 (der ursprüngliche Kontext der Frage). Ich schlage vor, wenn Sie das jetzt Lesen, ignorieren Sie alles unter, verwenden Sie dietarget
Attribut, ob es wirft ein compliance-Warnung oder nicht, alle Browser unterstützen es und es sollte nie vergessen wurde...die Tatsache, dass es Hinzugefügt wurde, wieder in einem späteren spec zeigt das entfernen es ein Fehler war.Dies funktionieren wird:
Jedoch, IDs sollten eindeutig sein, wenn Sie laden, mehr als 1, Sie brauchen, um eine Klasse statt, so wie hier:
Und jQuery wie diese:
Den Normen konformen Weg wäre:
_blank
als veraltet, wurde ein leicht verzögertes Fehler auf W3C Teil. Ich Wette, Sie $100, die in 5 Jahren von heute alle Browser noch unterstützen_blank
.target
Attribut unabhängig von Warnungen. Zu der Zeit der original-Antwort war es nicht sicher, es würde wieder Hinzugefügt werden, um die XHTML-Spezifikation...oder was die Zukunft von HTML5 wurde. Nun, dass wissen wir beide, können wir sicher sagen, dass die Einhaltung der XHTML 1.0 strict-Spezifikation ist eine völlig unnötige Komplikation.http://snipplr.com/view/4626/jquery-snip--open-link-in-new-window/
Verwenden .live()
Code binden Sie auf Ereignis, um Elemente, die verfügbar sind auf der Seite zu laden und nicht zu dynamisch erstellten Elementen. Live-binden events an Elementen, die dynamisch erstellt auch.
Im Gegenteil, was andere glauben, die
target
Attribut mit all seine Werte sind nicht veraltet als je HTML5-Spezifikation.Lesen Sie es hier: http://dev.w3.org/html5/markup/a.html
So, fühlen Sie sich frei, um es in HTML5.