Tapahtumafunktiot

Tapahtumafunktiot (EventHandler) reagoivat dokumentin tapahtumiin. Tapahtumia voivat olla esimerkiksi hiiren tietyt liikkeet, käyttäjän syötteet jne. Tapahtuma käynnistää ohjelmoidun toiminnan. Jos HTML-elementti käsittelee jotain tapahtumaa, voit yleensä liittää siihen tapahtumafunktion.

Tapahtumafunktio kirjoitetaan HTML-elementin parametriksi. Muoto on tällöin

<tag eventHandler="JavaScript-koodi">

Esimerkiksi tämän sivun body-elementissä on tapahtumafunktio, joka avasi pienen tervetuloikkunan:

<body onLoad="window.alert('Tervetuloa sivulle!')" >

onLoad -tapahtumafunktion määräämät asiat tapahtuvat siis, kun sivu latautuu.

Tapahtumafunktio voi sisältää minkä tahansa JavaScript-koodin tai funktion kutsun (funktioista seuraavaksi). Jos lausekkeita on useampia, erotetaan ne puolipisteellä.

Seuraavassa joitain tapahtumafunktioita:

onClickHiiren klikatessa elementtiä
onMouseDownHiiren napin mennessä pohjaan
onMouseUpHiiren napin tullessa ylös
onMouseOverHiiren tullessa elementin päälle
onMouseOutHiiren lähtiessä elementin päältä
onMouseMoveHiiren liikkuessa
onDblClikHiirellä tupla-klikatessa
onKeyDownNäppäimistön näppäimen painuessa alas
onKeyPressNäppäimistön näppäintä painaessa
onKeyUpNäppäimistön näppäimen tullessa ylös
onLoadKun objekti ladataan
onResizeKun näkymän kokoa muutetaan
onScrollKun näkymää scrollataan
onUnloadKun esim. sivulta lähdetään
onChangeKun esimerkiksi tekstikenttää muutetaan
onFocusKun esimerkiksi tekstikenttään tullaan kirjoittamaan
onBlurKun esimerkiksi tekstikentästä poistutaan
onSelectValitessa esim. tekstikentästä tekstiä
onResetLomaketta resetoitaessa
onSubmitKun lomake lähetetään

Esimerkki kuvan vaihtamisesta


<img src="kuvat/toveruus.gif" id="vaihdettava" 
		onMouseOut="kuva.src = 'kuvat/toveruus.gif';" 
		onMouseOver="kuva.src = 'kuvat/toveruus2.gif';" />

<script language="JavaScript">
	var kuva = document.getElementById("vaihdettava");
</script>

Esimerkissä on huomattava, että kuvaobjektiin on laitettu kaksi tapahtumafuntiota. Yksi tapahtumaan, jossa hiiri tulee kuvan päälle ja toinen, kun hiiri lähtee kuvan päältä.
Toinen huomattava seikka on se, että muuttujaan kuva voidaan sijoittaa haluttu img -objekti vasta, kun kuva on sijoitettu dokumenttiin... ts. sijoittamisen tekevä scripti on vasta kuvan jälkeen.