AWWW-1st3.6-w03.tresc-1.0-Slajd19
DOM - Document Object Model
Popularność języka JavaScript spowodowała opracowanie przez twórców różnych przeglądarek niezależnych od siebie sposobów reprezentacji dokumentów HTML i interfejsów umożliwiających manipulowanie indywidualnymi elementami dokumentów. W 1998 roku World Wide Web Consortium (W3C) opracowało standard reprezentacji dokumentów HTML i XML w postaci drzew oraz zaproponowało obiektowo zorientowany interfejs programistyczny do manipulacji na poszczególnych elementach. Do dnia dzisiejszego standard DOM doczekał się specyfikacji czterech poziomów zgodności i stał się de facto powszechnie uznanym standardem.
Standard DOM zawiera również specyfikację zdarzeń i odwzorowanie zdarzeń na elementy dokumentu, których zdarzenia dotyczą. Zdarzenia można ogólnie podzielić na cztery zasadnicze grupy:
- zdarzenia generowane przez mysz: kliknięcie (onClick), podwójne kliknięcie (onDblClick), naciśnięcie elementu (onMouseDown), zwolnienie przycisku myszy (onMouseUp), najechanie myszą (onMouseOver), przesuwanie myszą nad elementem (onMouseMove), opuszczenie myszą obszaru nad elementem (onMouseOut)
- zdarzenia generowane przez klawiaturę: wciśnięcie i zwolnienie klawisza (onKeyPress), wciśnięcie klawisza (onKeyDown), zwolnienie klawisza (onKeyUp)
- zdarzenia związane z obiektami i ramkami: załadowanie (onLoad), przerwanie ładowania (onAbort), wystąpienie błędu ładowania (onError), zmiana rozmiaru okna/ramki (onResize), przesunięcie widocznego okna (onScroll)
- zdarzenia związane z formularzami: zaznaczenie tekstu (onSelect), zmiana wartości pola (onChange), przesłanie formularza (onSubmit), wyczyszczenie formularza (onReset), wejście do elementu (onFocus), wyjście z elementu (onBlur)
Oprócz wyżej wymienionych istnieje także wiele zdarzeń obsługiwanych tylko przez wybrane przeglądarki. Przykładowo, Internet Explorer obsługuje także zdarzenia związane z obsługą schowka (zdarzenia onCopy, onPaste, onCut), a Mozilla obsługuje zdarzenia generowane przez okienka typu pop-up (zdarzenia onPopupHiding, onPopupShowing).