Modern ismeretek WEB oldalon : Javascript ismertető HTML formátumban
Event objektum |
||
Az event objektumok bemutatása | ||
Tulajdonságok (Microsoft) : | ||
offsetX, offsetY | Objektum-relatív koordináták | |
clientX, clientY | Képernyő koordináták | |
x,y | Szülőelemek relatív koordinátái | |
keyCode | Billentyű kódok | |
altKey, ctrlKey, shiftKey | Különleges billentyűk | |
Tulajdonságok (Netscape) : | ||
layerX, layerY | Objektum-relatív koordináták | |
screenX, screenY | Képernyő koordináták | |
pageX, pageY | Ablak-relatív koordináták | |
which | Egér / Billentyűkódok | |
modifiers | Különleges billentyűk | |
type | Az események tipusai | |
Elemfüggvények (metódusok) : nincs | ||
Alárendelt objektumok : nincs |
event: Általános tudnivalókAz event objektum segítségével olyan felhasználói eseményekre tudunk reagálni, mint egy klikk az egér gombjával, egy billentyű leütése és ezek kombinációi. A felhasználó által keltett eseményeket úgy kísérhetjük figyelemmel, hogy egy HTML tag-ban egy Event-Handler (esemény figyelő) metódust hívunk meg, vagy közvetlenül a JavaScript segítségével az esemény megfigyelését végezzük. Ha a kérdéses esemény bekövetkezik, akkor meghívunk egy saját készítésű függvényt , mely az eseményt értelmezi, feldolgozza és reagál rá. Annak ellenére, hogy a Netscape 4.x úgymint a MS Internet Explorer 4.x ismeri az event objektumot, nem egységes annak értelmezése. Igen sok a sajátos megoldás, erősebben fogalmazva : teljes a káosz ezen a területen. Más a szintakszis, bizonyos tulajdonságok vagy csak a Netscape vagy csak a Microsoft böngészőjére érvényesek. Ennek ellenére megkisérlünk olyan programokat is bemutatni, melyek mindkét Browser alatt hibajelzés nélkül futnak. Események figyelése közvetlen JavaScript programozással : Példa:
Magyarázat:A példa a billentyű események figyelését végzi a dokument objektumra vonatkoztatva. Magyarán ha a felhasználó a kijelzőterületre klikkel (így rákerül a fókusz a dokumentra) és egy billentyűt megnyom illetve elenged,akkor az így keletkezett eseményt kezeli le. A példában a billentyű decimális (ASCII) értékét írjuk ki alul a státuszsorba. Annek érdekében, hogy a Netscape 4.x és MS Internet Explorer 4.x böngészők ezt hiba nélkül végezzék, kijelöltünk egy JavaScript terület és két JScript területet. A JScript területet csak az MS Internet Explorer értelmezi, míg a language="JavaScript1.2" által jelzett script területet csak a Netscape 4, így a régebbi böngészők, pl. Netscape 3 ezt a területet figyelemen kívül hagyják. Netscape : A példában két függvényt definiáltunk, ezek : megnyomva(esemeny) és elengedve(esemeny). Ezen paramétereken keresztül érjük el az event objektum tulajdonságait. A which a Netscape megadása szerint a lenyomott billentyű decimmális kódját tárolja. Az események figyelése azonban önmagában véve nem elég, meg is kell hívni az eseménykezelő függvényeket. Ezt a célt szolgálja a JavaScript-terület végén látható két sor :
Vegyük észre, hogy itt csak a függvények neve szerepel, utána nincsenek zárójelek . Microsoft : A példában rá a language= "Jscript" területek parancsai vonatkoznak. Ezekben megadjuk, hogy mely eseményt : event="onkeydown()" és event="onkeyup()" mely objektumra nézve : for=document kísérjen figyelemmel. Ezeken a területeken aztán minden, az MS Internet Explorer által ismert objektum metódust és tulajdonságot, pl.: window.event.keyCode élérhetünk ill. lekérdezhetünk. offsetX, offsetYMicrosoft szintakszis. Megadja a kurzor vizszintes (offsetX) és függőleges (offsetY) koordinátáit (pixelben, relatív érték), az ablak bal felső sarkához viszonyítva. Példa:
Magyarázat:A példában egy objektumot mutatunk, melyre ha ráklikkelünk, akkor kiírja egy üzenőablakba az egér koordinátáit, az objektum bal felső sarkához viszonyítva. clientX, clientYMicrosoft szintakszis. Megadja pixelben, a kijelzőablak bal felső sarkához viszonyítva, az egér kursor (clientX),(clientY) koordinátáit relatív értékekkel, mely pl. az egér események figyelésekor lehet hasznos. Példa:
Magyarázat:A példa bemutat egy <div>-területet, ahol a stíluslap abszolút értékekkel van megadva. Ha a felhasználó az egérrel az ablakra klikkel, akkor a szines kis négyzet oda ugrik, ahova az egér kurzor mutat. x, yMicrosoft szintakszis. Megadja pixelben, a szülőablak bal felső sarkához viszonyítva, az egér kursor x,y koordinátáit abszolut értékekkel, mely pl. az egér események figyelésekor hasznos. Ha nincs szülő ablak, akkor a dokumentum bal felső sarkához viszonyítva adja meg a koordinátákat. Példa:
Magyarázat:A példa egy abszolut koordinátákkal kijelölt terület (<div>...</div>) és azon belül egy egyszerű szöveget jelenít meg. Ha ráklikkelünk erre a sorra, akkor a pozico() nevű függvény lesz meghívva. Eredetileg a szülő ablakhoz viszonyítva írja ki pixelben az egér koordinátáit, a példában a kijelzőablak bal felső sarkához viszonyít. keyCodeMicrosoft szintakszis. Megadja a lenyomott billentyű decimális kódját. (ASCII/ANSI érték) Példa:
altKey, ctrlKey, shiftKeyMicrosoft szintakszis. Megadja, hogy egy kiegészítő billentyű, mint az ALT, Shift, Ctrl egy másik billentyűvel illetve egér klikk együtt volt megnyomva. Példa:
layerX, layerYNetscape szintakszis. Az onresize eseményt figyelve megkapjuk egy objektum illetve egy Layer terület aktuális szélességét (layerX) és magasságát (layerY). Mindez pl. az egér által keltett események figyelésekor értékes tulajonság. Példa:
Magyarázat:A példa figyeli, hogy a kiválasztott ablak mérete megváltozott-e. Ha igen, akkor kiírja a megváltozott értékeket a státuszsorba. screenX, screenYNetscape szintakszis. Az egéresemények figyelésekor megadja a képernyőn a kursor abszolút pozicióját pixelben.Vizszintes (screenX) és függőleges (screenY) értékek. Példa:
Magyarázat:A példa figyeli, hogy a felhasználó az egér gombját megnyomta-e. Ha igen akkor egy üzenőablakban a képernyő abszolút koordinátáit kiírja. pageX, pageYNetscape szintakszis. Megadja a kurzor vizszintes (pageX) és függőleges (pageY) koordinátáit (pixelben, relatív érték), az ablak bal felső sarkához viszonyítva. Példa:
Magyarázat:A példa egy Layer objektumot mutat. Ha a felhasználó az egérrel az ablakra klikkel és elengedi azt, akkor a Layer arra a pozicióra ugrik, ahol az egér gomját elengedtük. whichNetscape szintakszis. Megadja, hogy az egér melyik gombját nyomtuk meg (decimális érték) Példa:
Magyarázat:A példa figyeli hogy melyik egérgombot nyomtuk meg. Így: a baloldali egér gomb értéke 1, a középső 2 és a jobboldali 3. modifiersNetscape szintakszis. Megadja, hogy egy kiegészítő billentyű, mint az Alt, Shift, Ctrl, Alt Gr egy másik billentyűvel illetve egér klikkel együtt volt megnyomva. Példa:
Magyarázat:A példában ha ráklikkelünk az ablakra és megnyomjuk az Alt vagy Ctrl vagy Shift vagy AltGr billentyűt, akkor megjelenik egy üzenőablak. A szintakszis bit-operatorokat használ. typeNetscape szintakszis. Meghatározza a fellépő esemény tipusát.Az eltárolt érték előtt nincs "on" szócska, így pl.: mouseup, keypress vagy select. Példa:
Magyarázat:A példa kijelzi a megfigyelt események tipusát. Jelen példában kétféle eseményt figyelünk. Az egyik, ha a felhasználó megnyomja az egér gombját, a másik ha elengedi azt. |
||||||||||||