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

JavaScript
Sahifa

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

JavaScript
Sahifa

n o’zgaruvchisi tinglovchidan tashqarida e’lon qilingan — shuning uchun qiymati bosishlar orasida saqlanib qoladi.

event obyekti

Tinglovchi funksiya hodisa haqidagi ma’lumotni oladi:

JavaScript
Sahifa

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

JavaScript
Sahifa

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:

JavaScript
Sahifa

Bu forma bilan ishlashda ayniqsa muhim — keyingi darsda ko’ramiz.

Tinglovchini olib tashlash

JavaScript
Sahifa

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:

  1. Tugma qo’shib, bosilganda xabar chiqaring;
  2. sanagich yasang — har bosishda son ortsin;
  3. “Kamaytirish” tugmasini ham qo’shing;
  4. input maydonidan matnni olib, sahifada ko’rsating;
  5. e.target orqali qaysi tugma bosilganini aniqlang;
  6. havolaga preventDefault qo’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.
  • removeEventListener yoki { once: true } bilan tinglovchi olib tashlanadi.

Keyingi darsda formalar — foydalanuvchi kiritgan ma’lumotni olish va tekshirishni ko’ramiz.

Bu dars foydali bo'ldimi?

marta ko'rildi