Az előző számunkban megtalálható Javascript cikk második része a JavaScript eseménykezelést mutatja be.

JavaScript: Eseménykezelés

Valójában az eseménykezelő kódrészek használatával lesznek weblapjaink interaktívak. Lényegük, hogy egy adott esemény hatására, amit a felhasználó (pl. onClick) vagy a rendszer (pl. onLoad) vált ki, a paraméterben tárolt JavaScript kódot futtat le a böngésző. Az eseménykezelő paraméterek mind egy vagy több HTML tag paraméterei.

onClick, onDbclick

Az onClick paraméter lehetséges előfordulási helye a button, reset, submit, radio, checkbox, link objektumok HTML megfelelői. Akkor indul el az eseménykezelő kód, amikor az említett elemeken kattint a felhasználó. A button objektum esetében gyakorlatilag kötelező az onClick használata.

Link esetén az onClick kód lefut, mielőtt a böngésző betöltené a megcímzett oldalt.

Linkek esetében meghiúsíthatjuk az új oldal betöltését, ha false értékkel térünk vissza. Ez akkor hasznos amikor az onMouseover eseménykezelővel a státuszsorra írunk valamilyen információt. Ekkor, hogy az esetleges kattintás ne töltsön be új oldalt, a linknek mindössze ez az információ hatása legyen, célszerű az onClick-ből false -szal visszatérni. Az onDbclick ugyanazokon az objektumokon értelmezett mint az onClick és dupla kattintásra fut le.

onSubmit

A form objektum eseménykezelője. Akkor következik be ez az esemény amikor a felhasználó a submit gombot megnyomja. Így alkalmunk nyílik bármilyen kód lefutat-tására, mielőtt a form adatai elküldésre kerülnének (pl. figyelmeztetés, rákérdezés ). Az onClick eseménnyel ellentétben itt már lehetőség van JavaScript programból megakadályozni vagy engedélyezni az űrlap adatainak elküldését. A visszatérési érték false esetén megakadályozza, true esetén engedélyezi ezt.

onReset

Az onSubmit-hez hasonlóan ez is a form objektum eseménykezelője. Az esemény kódja a reset gomb megnyomására hívódik meg és hatására az űrlap tartalma törlődik.

onMouseover

Az onMouseover a elsősorban a link objektum eseménykezelője, de az oldalon található szinte összes elemre végrehajtódik. A kód akkor indul el, amikor a felhasználó az egérkurzorral a link fölé megy. Általános felhasználása, hogy a státuszsorban megjelenő URL helyett valamilyen általunk választott szöveg jelenik meg.

onMouseDown, onMouseUp

Ezekkel az eseménykezelőkkel az egérgomb lenyomása (onMouseDown) és felengedése (onMouseUp) külön kezelhető. Használatuk ajánlott button, checkbox, document, link, radio, reset, submit objektumok esetén.

onMouseMove

Az onMouseMove esemény akkor történik meg, ha a felhasználó mozgatja az egeret.

onLoad és onUnload

Az onLoad és az onUnload a <BODY> és a <FRAMESET> tag eseménykezelője. Egy dokumentum <BODY> tag-jében elhelyezett onLoad kód akkor fut le, amikor a teljes dokumentum letöltődött. A <FRAMESET> esetében pedig ez az esemény akkor történik meg, amikor az összes keret betöltődött. Az onUnload esemény az aktuális oldal elhagyása esetén következik be. Például ha lapot váltunk a böngésző Back vagy Forward gombjaival.

onFocus

Az onFocus akkor indítja el kódját, amikor text, textarea, password vagy select objektum űrlapeleméhez kerül az input fókusz. Gomboknál ez általában egy szagatott vonalú kisebb téglalap. Ez a fókusz mutatja azt a helyet, ahova a felhasz-náló által beadott adatok kerülnek.

onBlur

Az onBlur eseménykezelő mindazokon az objektumokon értelmezett, ahol az onFocus is, ugyanis hatása ennek ellentéte. Akkor indítja el a megadott kódot, amikor az űrlapelemről elkerül az input fókusz.

onChange

Az onChange eseménykezelő a text, textarea, password és select objektumok esetében akkor indul el, amikor értéküket (value tulajdonság) megváltoztatjuk és az input fókusz is elkerül róluk.

onSelect

Az onSelect specifikáció szerinti feladata, hogy akkor futtassa le a hozzárendelt kódot, amikor egy text, textarea vagy password objektumban egy szövegrészt kijelölnek.

onDragDrop

Fogadó objektuma a window objektum. Hatására a böngészőablakba húzott fájl vagy Internet cím rögtön betöltődik.

onKeyDown, onKeyUp, onKeyPress

Ezekkel az eseménykezelőkkel kódot futathatunk egy billentyű lenyomásakor (onKeyDown), felengedésekor (onKeyUp), valamint a kettő kombinációjakor (onKeypress). Ha valamelyikből false értékkel térünk vissza, akkor a funkció meghiúsul, azaz a kérdéses karakter nem kerül be a mezőbe.

onMove, onResize

Mindkét eseménykezelő a window objektumra hívható meg. Az onMove esemény-kezelő akkor fut le, amikor a felhasználó elmozdítja az ablakot.

Az ablak átméretezésekor viszont az onResize eseménykezelő fut le.

Bálint Alíz