Ono što mi u večini naših aplikacija želimo je da se na temelju nekog događaja (event), koji je uzrokovan ili od strane korisnika ili na neki drugi način, dogodi neka od promjena unutar same stranice. Bolje rečeno želimo da postoji nešto, na temelju čega če DHTML obaviti svoj zadatak. Postoji nekoliko definiranih događaja koji mogu uzrokovati promjene u dokumentu. To su:
Rukovanje, odnosno obrada događaja biti če možda malo teže razumljiv za onoga koji nije upoznat sa Java Scriptom zato se čitatelju preporučuje da pogleda koncept kojim Java Script rukuje događajima. Rukovanje događajima također je određeno DOM-om, koji definira tipove događaja, njihove karakteristike, te na koje elemente se mogu primjenjivati. I ovdje postoje razlike između Microsofta i Netscapea (no to nije ništa novo).
Rukovanje događajima može biti posve jednostavno, ali jednako tako može biti i vrlo komplicirano ovisno o tome što želimo postiči. Ovdje če biti prikazani samo osnovni principi zbog kompleksnosti samog postupka, a na kraju se može nači popis adresa gdje se može saznati puno više, za onoga koga ovo područje interesira
Rukovatelji događajima (Event Handlers)
Prilikom svih onih gore navedenih radnji generiraju se događaji, bez obzira htjeli mi to ili ne, i bez obzira na to želimo da oni pokrenu neku određenu akciju ili ne, oni se jednostavno javljaju kao posljedica određenih radnji. Ako želimo da neki od događaja bude uzrok neke akcije, moramo napisati rukovatelj događajima (event hanler), koji se stvara kao atribut onome elementu HTML dokumenta na koji se događaj odnosi. Sljedi primjer nakon kojeg če ovo biti razumljivije:
<A HREF="page.html" onMouseOver="changeStatus('Read this page');
return true">Click here
</A>
Ovdje onMouseOver rukovatelj događajem koji obrađuje događaj tipa MouseOver.Vidimo da se ime rukovatelja događaja dobiva vrlo jednostavno, dodavanjem prefiksa on ispred samog imena događaja (npr. submit - onSubmit i sl.).
Princip je sljedeči, u ovom primjeru, kada se se mišem pređe preko linka na page.html, dolazi do događaja tipa Mouseover i njega obrađuje rukovatelj događajima onMouseOver, i to na taj način da poziva funkciju changeStatus sa 'Read this page ' kao argumentom koji se prenosi u funkciju. Ova funkcija nalazi se definirana negdje unutar ovog HTML dokumenta, i može obavljati bilo kakve radnje koje se mogu napisati JavaScript kodom. Valja napomenuti da rukovatelj događajima ne mora uvijek biti poziv funkcije, to može biti običan niz naredbi napisanih u JavaScriptu , međusobno odvojenih sa točka-zarezom. Npr.
<A HREF="page.html"
onMouseOver="document.styleSheets[0].rules[0].style.
color='blue'"
>
Click here
</A>
Ovim nizom naredbi smo promijenili boju koja je definirana u prvom style sheetu unutar našeg dokumenta i to prvim pravilom unutar toga style sheeta. Ovaj primjer če raditi samo u IE jer Netscape ne podržava modifikacije style sheetova. Sljedeča tablica opisuje događaje, kako nastaju i imena rukovatelja pojedinim događajima.
Treba napomenuti da ovdje nisu navedeni svi tipovi događaja do kojih može doči , jer oba pretraživača podržavaju još neke događaju do kojih dolazi kao posljedica neke radnje kao npr. pritisak neke od tipki ili nešto slično.Također valja naglasiti da nisu svi događaji primjenjivi na sve elemente. Npr. u Netscapu događaj MouseOver primjenjiv je na sljedeče elemente, hyperlink <A>, <AREA>, <LAYER>, dok u IE taj isti događaj radi gotovo sa svim elementima. Opčenito to vrijedi za sve događaje, IE podržava događaje za veličinu elemenata dok Natscapeov pretraživač ne.