W MooTools 1.2 usunięto funkcje, które stosowałem dość często - $E i $ES. Pozwalały one wybrać odpowiednio pierwszy lub wszystkie elementy zgodne z podanym selektorem i znajdujące się w podanym elemencie. Były one swoistym skrótem dla metod getElementsBySelector, getElement i getElements.

Gdyby ktoś chciał jednak móc je zastosować to prezentuję poniżej ich implementacje w MooTools 1.2:

function $E(selector, scope){
    return $($defined(scope) ? scope : document.body).getElement(selector);
}
 
function $ES(selector, scope){
    return $($defined(scope) ? scope : document.body).getElements(selector);
}

Pierwszy argument to oczywiście selektor określający jakie elementy chcemy wyselekcjonować, a drugi argument jest opcjonalny i pozwala ograniczyć zakres poszukiwań do wybranego elementu - musi to być uchwyt do elementu lub jego id.

Dla tych, którzy chcieliby w drugim argumencie móc zastosować także selektor przygotowałem lekko zmienioną wersję funkcji $E i $ES pozwalającą stosować w obu argumentach selektory:

function $E(selector, scope){
    return $$($defined(scope) ? scope : document.body)[0].getElement(selector);
}
 
function $ES(selector, scope){
    return $$($defined(scope) ? scope : document.body)[0].getElements(selector);
}

Należy pamiętać, że w tym wypadku nie można podać id bez znaku # na początku.

Niezwykle istotną sprawą przy tworzeniu skryptów jest możliwość łatwego poruszania się po drzewie dokumentu - w MooTools mamy kilka metod, które pozwalają nam na dostęp do różnych elementów względem innych elementów. Dodatkowo zapoznamy się bliżej z funkcją $$, która pozwala na selekcję kilku elementów naraz według określonych parametrów.

Czytaj dalej...

Stworzyłem mały UserJS, który zamienia wszystkie linki do statusów w kokpicie:

blip

na przyciski dodające link do treści nowego statusu - Blip easyPermalinks, może komuś się przyda i ułatwi życie ;)

Każdy kto programował w JavaScript przyzwyczaił się zapewne do zdarzenia onLoad występującego w momencie załadowania się danej strony WWW. Z reguły wraz z tym zdarzeniem swoje działanie rozpoczynały wszelkie skrypty JS związane z DOM, bo wywołanie ich wcześniej niechybnie skończyłoby się błędem związanym z odwoływaniem do elementu, który jeszcze w DOM nie istnieje.

Czytaj dalej...

W poprzedniej części kursu zapoznaliśmy się z dodawaniem i usuwaniem zdarzeń - pora na zdalne wywoływanie zdarzeń, ich klonowanie oraz omówienie kilku bardziej zaawansowanych zagadnień związanych ze zdarzeniami. Przy okazji poznamy pięć nowych metod klasy Element - clone, adopt, getNext, dispose oraz getProperty.

Czytaj dalej...