JavaScript hodisalar (event, addEventListener)
Shu paytgacha kod bir marta, yuqoridan pastga bajarildi. Endi uni foydalanuvchi harakatiga bog’laymiz: tugma bosilganda, matn kiritilganda, forma yuborilganda.
addEventListener
Ishga tushirgach, natija oynasidagi tugmani bir necha marta bosing — har bosishda yangi xabar chiqadi.
Tuzilishi: element.addEventListener("hodisa", funksiya). Funksiya hodisa
sodir bo’lganda chaqiriladi.
Sanagich misoli
n o’zgaruvchisi tinglovchidan tashqarida e’lon qilingan — shuning uchun
qiymati bosishlar orasida saqlanib qoladi.
event obyekti
Tinglovchi funksiya hodisa haqidagi ma’lumotni oladi:
e.target — hodisa qaysi elementda sodir bo’lganini beradi. Shu sababli
bitta funksiyani bir necha elementga ulash mumkin.
Ko’p uchraydigan hodisalar
| Hodisa | Qachon sodir bo’ladi |
|---|---|
click |
element bosilganda |
input |
maydonga yozilganda (har harfda) |
change |
qiymat o’zgarib, fokus ketganda |
submit |
forma yuborilganda |
keydown |
klavisha bosilganda |
mouseover |
sichqoncha element ustiga kelganda |
input — jonli kiritish
input hodisasi har bir harfda ishlaydi, e.target.value esa maydondagi
joriy matnni beradi.
preventDefault — odatiy xatti-harakatni to’xtatish
Ba’zi elementlarning tug’ma xatti-harakati bor: havola sahifani almashtiradi, forma sahifani qayta yuklaydi. Uni to’xtatish mumkin:
Bu forma bilan ishlashda ayniqsa muhim — keyingi darsda ko’ramiz.
Tinglovchini olib tashlash
Buning uchun funksiya nomlangan bo’lishi shart — arrow funksiyani o’chirib bo’lmaydi, chunki unga havola saqlanmaydi.
Soddaroq yo’l — { once: true } sozlamasi:
tugma.addEventListener("click", () => {
console.log("Bir marta");
}, { once: true });
Amaliy mashq
Interaktiv sahifa yarating:
- Tugma qo’shib, bosilganda xabar chiqaring;
- sanagich yasang — har bosishda son ortsin;
- “Kamaytirish” tugmasini ham qo’shing;
- input maydonidan matnni olib, sahifada ko’rsating;
e.targetorqali qaysi tugma bosilganini aniqlang;- havolaga
preventDefaultqo’llang.
2-qadamda let n = 0 ni tinglovchi ichiga ko’chiring — nima o’zgaradi?
Qisqacha xulosa
addEventListener("hodisa", funksiya)— hodisani tinglaydi.- event obyekti hodisa haqida ma’lumot beradi;
e.target— manba element. - Asosiy hodisalar:
click,input,change,submit,keydown. e.preventDefault()odatiy xatti-harakatni to’xtatadi.removeEventListeneryoki{ once: true }bilan tinglovchi olib tashlanadi.
Keyingi darsda formalar — foydalanuvchi kiritgan ma’lumotni olish va tekshirishni ko’ramiz.