Zdarzenia i metoda live()
Dotychczas podczepianie zdarzeń w jQuery odbywało się poprzez określanie typu zdarzenia (np. click(), mouseover() itd.) lub ogólną metodą bind(). Nowa metoda live() pozwala nadawać zdarzenia nie tylko istniejącym węzłom (które zostałe pobrane przez jQuery), ale także kontrolować, czy węzły, które zostały wybrane nadal spełniają warunek (np. wyszukiwanie przez podanie klasy) lub czy nie zostały dodane nowe elementy spełniające warunek. W ten sposób nie musimy już troszczyć się o treści ładowane dynamicznie (np. poprzez AJAX).Klasa AKlasa B
$('.a').live('click', function() {alert('a')}); $('.b').bind('click', function() {$(this).append('Klasa A');});
Przykład:
Klasa A
Klasa B
Podczepianie wielu zdarzeń naraz
W przypadku, kiedy istnieje potrzeba nadania wybranym elementom kilka zdarzeń od najnowszej wersji można to zrobić wywołując metodę bind z parametrem obiektu json, gdzie klucz to nazwa zdarzenia (np. click), a wartość to funkcja (function() {}).$('.a').bind({ click: function(){alert('a');}, mouseover: function() {$(this).css('color','blue')}, mouseout: function() {$(this).css('color','black')} });
Przykład:
Klasa A
Easing w animacjach
W najnowszej wersji wprowadzono możliwość definiowania własnych metod animacji (easingu), w nieco innej formie niż to było w poprzednich wersjach. Obecnie zdefiniowane są dwie metody swing oraz linear, a dodanie ich do metody animate polega na podaniu tablicy złożonej z wartości docelowej oraz metody easingu dla animowanego parametru, zamiast samej wartości.$('.a').bind({ click: function(){ $(this).animate({ top:[200, 'linear'] }, 2000) } });
Przykład:
Klasa A
Pauzy podczas animacji
Nowa metoda delay, pozwala na pauzę w łańcuchu animacji. Parametr metody określa ilość milisekund.$('.a').bind({ click: function(){ $(this).slideUp().delay(2000).slideDown(); } });
Przykład:
Klasa A
Przy okazji polecam bardzo dobry Cheat Sheet dla najnowszej wersji frameworku.
A do testowania jQuery 1.4 zapraszam na Fiddle It.
Brak komentarzy:
Prześlij komentarz