jQuery Version 1.3 ist da!!!
Herrliche Neuigkeiten: eine neue jQuery Version ist erschienen!!! Man beachte den Blogbeitrag, die Release Notes und dann freuen über die neue, noch bessere Version.
Die schönste Neuigkeit für mich ist die neue Funktion live(). Schon Ewigkeiten wollte ich über das Plugin Livequery schreiben, welches die gleichen Funktionalitäten anbietet. Aber das hat sich jetzt erledigt.
Mit der Funktion live() bindet man Events an Elemente, und zwar an alle Elemente. Das bedeutet auch an jene, welche per Ajax nachgeladen werden.
$("button").live("click", function() {
alert("Button "+$(this).attr("name")+" gedrückt!");
});
Mit diesem Code wird bei Klick auf einen Button eine Nachricht ausgegeben, auch wenn dieser dynamisch nachgeladen wurde. Wunderbar!
Und noch eine "neue" Erkenntnis will ich niemanden vorenthalten: Der viel genutzte Ausdruck
$(document).ready(function() { /* alles geladen! los gehts */ });ist gar nicht so gut! Ganz im Gegenteil, er ist sogar schlecht.
Der Grund ist die Zusammenarbeit mit anderen JavaScript Frameworks, die eventuell auch gebrauch der Dollar-Funktion machen.
Die Lösung ist zum Glück einfach:
jQuery(function($) { /* alles geladen, ohne Konflikte!!! */ });Der Funktion jQuery wird eine individuelle Funktion übergeben. Diese kriegt das komplette Framework als Parameter übergeben - und der wird dann dem Dollar-Zeichen zugewiesen.
Klingt komisch, ist aber so und verhindert lästige Fehlermeldung und Diskussionen mit Kollegen.
Lohnt sichs eigentlich bei bereits bestehenden Projekte auf die neuen Version upzudaten? Oder bringt das im Grunde keine Vorteile?
Der wichtigste Vorteil ist wohl die Geschwindigkeit. Wenn man große Seiten hat die schon langsam laufen, dann würde ich ein Update empfehlen.
Grundsätzlich würde ich aber mind. bis zur 1.3.1 warten die sicher bald kommt und einige Fehler ausbessern wird.