HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Hasznos kliens-oldali script-ek


Példaprogram letöltése

11584 bájt

Cikkünkben két apró lehetőséget mutatunk be, melyek segítségével kliens-oldalon oldhatunk meg bizonyos feladatokat Webes alkalmazásainkban. A cikk első felében bemutatjuk, hogyan valósíthatjuk meg szövegrészek másolását az oldal két objektuma közt „Drag and Drop” segítségével. A cikk második felében ismertetünk egy lehetőséget arra vonatkozóan, hogy miként helyettesítheti a felhasználó a HTML lapon megjelenő szöveg egy részét egy általa megadott képpel.

Mellékelt példa megnyitása előtt szükséges egy WebTips nevű virtuális könyvtár létrehozása, mely a példa könyvtárára mutat. Ehhez nyissa meg a mellékelt mappa Tulajdonság ablakát és itt a Webmegosztás lapon engedélyezze a mappa megosztását olvasási és parancsfájlok futtatási jogával.
’Drag and Drop’ a HTML lapon
A lap felső részében látható két <DIV> elem közt valósítunk meg vonszolást, melynek eredményeként a FORRÁS területen található szöveg kijelölt része áthúzható a CÉL területre, az oda korábban vonszolt szöveget felülírva.
A vonszolás lehetősége kliens-oldalon megvalósítható, elegendő néhány JScript-függvényt írnunk, és a Drag and Drop műveletben érintett objektumoknak a megfelelő eseményeinek kezelőjeként megadni ezeket.
A forrás elem ondragstart eseményének kezelőjeként megirtunk egy függvényt, doDragStart néven. Ez a pillanat, amikor a kijelölt szövegrész fölött lenyomtuk az egér bal gombját, majd megindultunk a cél objektum felé:
function doDragStart()
{
  var data = window.event.dataTransfer;
  data.effectAllowed = "copy"; 
}
A dataTransfer objektum effectAllowed property-jében adhatjuk meg, hogy az adott objektum esetén (jelen esetben a két DIV objektumnál), a vonszolás műveletében milyen effektus engedélyezett. A forrás elem esetén csak másolási („copy”) művelet, hiszen az eredeti szöveget nem kívánjuk törölni.
A cél objektum esetében két eseményre kell függvényt írnunk. Az első az ondrop esemény:
function doDrop()
{
Meghatározzuk a célobjektumot:
  var target = window.event.srcElement;
A műveletet:
  var data = window.event.dataTransfer;
Egy függvénybe ágyaztuk az esemény visszatérésének FALSE értékre állítását:
  doCancelDefault();
A célobjektumban a szöveget tartalmazó property értékét felülírjuk a forrásban kijelölt szöveggel:
  target.innerText = data.getData("text");
}
Az előbbi függvényt adjuk meg a cél objektum ondragover eseményének kezelőjeként is:
function doCancelDefault()
{
  var dr_event = window.event;
  dr_event.returnValue = false;
}
Kép beillesztése
A példa oldalunk alsó régiójában lehetőséget biztosítunk arra, hogy az oldalunkra látogató a megjelenő HTML szöveget helyettesítse egy tetszőleges képpel.
A példa zöld téglalapja egy <div> tag, melyben kijelölve a KÉP szót elérhetjük, hogy egy felbukkanó dialógusablakban kiválasszunk egy képet, majd ezt a kijelölt szó helyére illesszük. Ehhez az oldalon elhelyezett gombra kell kattintani. A gomb doInsertImage kezelőfüggvénye végzi el a műveletet. A kód első részében meghatározzunk a kijelölt szöveget:
function doInsertPicture()
{
  var textRange = document.selection.createRange();
  ...
Majd a kijelölt szöveget reprezentáló TextRange JScript objektumnak meghívjuk az execCommand metódusát. Ennek első paraméterében megadjuk a művelet azonosítóját, mely jelen esetben ’InsertImage’, második paraméterében pedig arról gondoskodunk, hogy megjelenjen egy dialógusablak a kép megadásához:
  textRange.execCommand("InsertImage",true);
Végül töröljük a kijelölt területet:
  document.selection.empty();
}
A példa alkalmazás mappájában, az ’image’ nevű almappában elhelyeztünk egy képet, mellyel a művelet kipróbálható.

Cikksorozat

#IDKategóriaCikk címeSorozat
2535C#Oracle adatbázis-elérés alapjai1. rész
2546C#SQL utasítások végrehajtása2. rész
2557C#Tárolt eljárások és függvények fejlesztése3. rész
2565C#Csomagok fejlesztése4. rész
2573C#Adatbázis triggerek fejlesztése5. rész
2581C#Kivételek kezelése PL/SQL-ben6. rész
3276C#Kurzorok deklarálása PL/SQL-ben7. rész
3297C#Tömb adattípus létrehozása és kezelése PL/SQL-ben8. rész
3326C#Adatbevitel tömb-adattípussal rendelkező oszlopokba9. rész
3357C#Adattárolás beágyazott tábla-típusú oszlopokban10. rész
3388C#Adatok beszúrása beágyazott táblákba11. rész
3418C#Index létrehozása PL/SQL-ben12. rész
3444C#Szekvenciák használata13. rész
3488C#Adatok betöltése állományokból14. rész
1765DelphiOracle adatbázis-elérés alapjai15. rész
1774DelphiSQL utasítások végrehajtása16. rész
1784DelphiTárolt eljárások és függvények fejlesztése17. rész
1794DelphiCsomagok fejlesztése18. rész
1803DelphiAdatbázis triggerek fejlesztése19. rész
1815DelphiKivételek kezelése PL/SQL-ben20. rész
3256DelphiKurzorok deklarálása PL/SQL-ben21. rész
3287DelphiTömb adattípus létrehozása és kezelése PL/SQL-ben22. rész
3318DelphiAdatbevitel tömb-adattípussal rendelkező oszlopokba23. rész
3348DelphiAdattárolás beágyazott tábla típusú oszlopokban24. rész
3377DelphiAdatok beszúrása beágyazott táblákba25. rész
3408DelphiIndex létrehozása PL/SQL-ben26. rész
3436DelphiSzekvenciák használata27. rész
3467DelphiAdatok betöltése állományokból28. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2003 évkönyv 113. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |