Uruchamianie funkcji w odpowiednim kontekście

Ostatnio kolega (zapraszam na jego blog) zapytał mnie jak uruchomić funkcję obsługi zdarzenia (ang. event handler) w odpowiednim kontekście – słowem: jak sterować kontekstem funkcji w JavaScript:

[javascript]domNode.addEventListener("click", function() {
console.log(this === window, this === domNode);
} , false);[/javascript]

Idąc tropem opisanym we wpisie o operatorze `this’ zaproponowałem wykorzystanie metody `apply’ bądź `call’:

[javascript]function handler()
{
console.log(this === window, this); // this === Number (obiekt liczby = 1)
}
domNode.addEventListener("click", function() { handler.apply(1); } , false);[/javascript]

Działa to tak jak oczekiwano – starczy podać jako parametr metody `apply’ odpowiedni kontekst. Nie musi to wcale być jakiś skomplikowany obiekt. Powyżej przekazałem po prostu wartość `1′, która została zrzutowana do obiektu Number. Czytaj dalej Uruchamianie funkcji w odpowiednim kontekście

Ajax – kompendium wiedzy

AJAX – czyli Asynchroniczny Javascript i Xml jest nowoczesną [? ma już ponad 5 lat, a pewne techniki były możliwe od kilkunastu lat] popularną technologią [przecież Javascript to Javascript, a Xml to Xml. Gdzie tu nowa technologia?] popularnym rozwiązaniem wykorzystującym potencjał drzemiący w Javascript.

Zbiór technologii, czy osobna technologia?

Będę się jednak upierał, że zbiór technologii, które już istniały. Po prostu odpowiednie wykorzystanie tego, co już wcześniej było dostępne, ładnie nazwane. O ile łatwiej jest sprzedać „Ajax Chat” niż „Chat wykorzystujący asynchroniczne żądania wysyłany przy pomocy obiektu XMLHttpRequest/pływającej ramki”. Często Ajax jest dużo szerszym pojęciem, zahaczającym wręcz o DHTML. Ostatnia litera skrótu – X, oznacza XML, który wcale nie musi być wykorzystywany. Równie dobrze [a może nawet lepiej] operować na JSON, a z pewnością prościej [bardziej prostacko?] na czystym tekście.

Czytaj dalej Ajax – kompendium wiedzy

XHTML 1.0 dla IE 6

Niestety IE stanowi dużą część rynku. Nie wiem, jak najnowsze wersje tego programu, ale na pewno IE6 z XHTML radzić sobie nie umiał :(.

W tym artykule postaram się pokazać, co należy zrobić, aby dokument XHTML był poprawny, a IE6 potrafił go jakoś odczytać.

Mimo że IE nie potrafi obsługiwać XHTML – serwowanego jako aplikacja XML – można wykonać kilka zabiegów, które pozwolą nam na prawidłowe wyświetlanie treści także i w popularnym „misiu” (od MSIE).

Czytaj dalej XHTML 1.0 dla IE 6

Komentarze warunkowe w IE

Internet Explorer nie jest moja ulubiona przeglądarką, i to niezależnie od tego, o której wersji mówimy. Głównie dlatego, że jest bardzo „swoista”. Sami autorzy tego programu wiedzą o tym (czasem chyba nawet się tym szczycą) i pozwalają developerom na specjalne hacki.

IE lubi coś robić inaczej. Jednak – co dobre – większość z jego dziwactw jest stała. tzn. za każdym razem działa w ten sam – błędny – sposób. Dzięki temu można stwierdzić: „Ej, zaraz! Jakbym tylko mógł zrobić osobny kod dla IE!”. Odpowiedź: „Możesz!”.

Kod widziany tylko dla IE

Czytaj dalej Komentarze warunkowe w IE

Wyśrodkowanie w CSS

Jeszcze kilka lat temu każdy, kto chciał wyśrodkować jakiś fragment strony używał znaczników:

<center>To będzie na środku</center>

Dziś jednak nie można już czegoś takiego stosować! Należy tworzyć strony łatwe do modyfikacji, w których do stworzenia struktury używa się HTML/XHTML, a właściwości i wygląd poszczególnych elementów opisuje się w CSS. Powyższe znaczniki zostały wycofane ze specyfikacji nowszych wersji HTML.

Czytaj dalej Wyśrodkowanie w CSS