12 Kism. Drag va Drop. § Drag va Drop nima.
Java S 1.2 ni xodisalarning yangi modeli va kavatlar mexanizmi yordamida Web saxifamizda drag va drop sxemasini ishlatish imkoniyatiga ega bulamiz.
Drag va drop nima? Masalan, bir kancha OS lar ( windows 95/NT yoki Mac OS) bizga fayllarni axlat kutisiga olib borgan xolda tozalashga ruxsat beradi. Boshkacha kilib aytganda siz fayl tasviriga sichkoncha tugmasini turtasiz va uni axlat kutisiga olib borasiz – drag va sung uni u yerga tashlaysiz – drop. Biz bu yerda amalga oshirmokchi bulgan drag va drop mexanizmi Web saxifada chegaralanadi. Shuning uchun siz HTML caxifadagi obyektlarni kompyuteringizning kattik diski yoki boshka xususiy xarakatlarga keltirish uchun bu yerda keltirilgan xaddan foydalana olmaysiz. JavaScript +tili tugridan tugri Drag va Drop mexanizmini kullab kuvvatlamaydi. Bu bizda image obyekti uchun drageable yoki biror bir xususiyatni belgilash imkoni yuk degan ma’noni beradi. Shuning uchun biz buning uchun zarur kodni uzimiz yozishimiz kerak. Lekin bu unchalik kiyin emas. Demak bizga nima kerak? Bizga ikki narsa kerak. Birinchidan biz sichkoncha bilan boglik anik xodisani aniklashimiz kerak, ya’ni kanday tushunishimiz kerak. Sungra biz ekran buylab obyektlarni kanday kilib utkazishni uylashimiz kerak. Albatta biz obyektlarni yaratish va ularni ekran buylab joylashtirishni kavat singari yangi imkoniyatdan foydalangan xolda bajaramiz. Xar bir obyekt uzining kavati bilan namoyon buladi.
JavaScript 1.2 da sichkoncha bilan ishlashdagi xodisalar.
Biz sichkoncha bilan ishlashda yuz beradigan xodisalardan kaysi birini ishlatishimiz kerak? Bizda MouseDrag kabi xodisa yuk lekin bu uni Mouse Dam ,Mouse Move va Mouse up xodisalarni kayta ishlab erishishimiz mumkin. Javas ni 1.2 versiyasida xodisalarninig yangi modulidan foydalaniladi . Biz bularsiz ushbu masalani yechib bilmaybiz . Keling bu yangi modelning bir kancha muxim kismiga yana bir kurib chikaylik. Foydalanuvchi brauzer darchasining biror bir joyida sichkoncha tugmasini bosadi. Bizning skript bu xodisa kaysi obyekt (ya’ni kavat) bilan boglikligini va bu xodisani bajarish kerak.Bizga ushbu xodisa koordinata nuktalarini bilishimiz kerak.Java S 1.2 da ushbu nuktalarni koordinatalarini ruy berishining saklaydigan yangi Event obyekti tashkil kilingan. Xodisani kamrab olinishi boshka bir muxim momentni uzx ichiga oladi. Masalan agar foydalanuvchi sichkoncha tugmachasini turtsa, u xolda unga mos xodisa tugridan-tugri Button obyektiga yuboriladi. Lekin bizning misolimizda bu xodisa Window obyektida ishlatilishi kerak. Shuning uchun biz darcha obyektiga sichkoncha bilan boglik xodisa xakidagi signalni kamrab olishga ruxsat beramiz. Bu navbatdagi misolda nomoyon buladi. (Click xodisasida ) siz brauzer darchasining ixtiyoriy joyiga sichkoncha bilan turtishingiz mumkin. Bunda darchada ushbu xodisa ruy bergan joyning koordinatasi xakidagi xabar darchasi nomoyon buladi.
Window.onClick = displayCords; satri shuni anglatadiki, click xodisasi sodir bulganida nima sodir buladi. Anikrok kilib aytganda brauzerning click xodisasiga reaksiyasi sifatida displayCoords ( ) funksiyasi chakiriladi (dispayCoords dan sung kavs kuyish kerak emasligini e’tiborga oling). Uz navbatida dispayCoords funksiyasi kuyidagi kurinishda aniklanadi:
Function dispayCoords (l) {
Alert (“x:”+l.page.x+ “y:”+l.page.y:);
Kurib turganingizday bu funksiya argumentga ega (uni l deb atadik). Xakikitdan esa bu Event obyekti bulib bu dispayCoords ( ) funksiyasiga ishlatilishiga beriladi. Event obyekti pege x va page y kabi xususiyatlarga ega, ulardan xodisa sodir bulgan joy nuktasini koordinatalarini olish mumkin. Xabar darchasi esa fakatgina shu kiymatni kursatadi.
Do'stlaringiz bilan baham: |