DOM EventListener


ULASHISH

addEventListener() metodi

Misol

Foydalanuvchi tugmani bosganida ishga tushadigan voqea tinglovchisini qo‘shing:

document.getElementById("myBtn").addEventListener("click", displayDate);
O‘zingiz sinab ko‘ring »

addEventListener() usuli ko‘rsatilgan elementga hodisa ishlov beruvchisini biriktiradi.

addEventListener() usuli mavjud hodisa ishlov beruvchilarini qayta yozmasdan elementga hodisa ishlov beruvchisini biriktiradi.

Bitta elementga bir nechta Event ishlov beruvchilarini qo‘shishingiz mumkin.

Bitta elementga, ya’ni ikkita "klik" hodisasiga bir xil turdagi ko‘plab hodisa ishlov beruvchilarini qo‘shishingiz mumkin.

Hodisa tinglovchilarini har qanday DOM obyektiga nafaqat HTML elementlarini qo‘shishingiz mumkin. ya’ni oyna obyekti.

addEventListener() usuli hodisaning ko‘piklanishga qanday munosabatda bo‘lishini nazorat qilishni osonlashtiradi.

addEventListener() usulidan foydalanilganda, yaxshi o‘qilishi uchun JavaScript HTML belgisidan ajratiladi va HTML belgilashni nazorat qilmaganingizda ham voqea tinglovchilarini qo‘shish imkonini beradi.

removeEventListener() usulidan foydalanib, hodisa tinglovchisini osongina olib tashlashingiz mumkin.


Sintaksis

element.addEventListener(event, function, useCapture);

Birinchi parametr hodisa turi (masalan, "click" yoki "mousedown" yoki boshqa HTML DOM hodisasi.)

Ikkinchi parametr - voqea sodir bo‘lganda biz chaqirmoqchi bo‘lgan funksiya.

Uchinchi parametr boolean qiymat bo‘lib, Event ko‘pikli yoki hodisani yozib olishdan foydalanishni belgilaydi. Ushbu parametr ixtiyoriy.

dan foydalanmasligingizga e’tibor bering hodisa uchun "on" prefiksi; "onclick" o‘rniga "click" dan foydalaning.


Elementga Voqea ishlovchisi qo‘shing

Misol

Ogohlantirish "Salom dunyo!" foydalanuvchi elementni bosganda:

element.addEventListener("click", function(){ alert("Hello World!"); });
O‘zingiz sinab ko‘ring »

Siz tashqi "nomli" funksiyaga ham murojaat qilishingiz mumkin:

Misol

Ogohlantirish "Salom dunyo!" foydalanuvchi elementni bosganda:

element.addEventListener("click", myFunction);

function myFunction() {
  alert ("Hello World!");
}
O‘zingiz sinab ko‘ring »


Bitta elementga bir nechta hodisa ishlovchilarini qo‘shish

addEventListener() usuli mavjud hodisalarni qayta yozmasdan, bir xil elementga ko‘plab Eventlar qo‘shish imkonini beradi:

Misol

element.addEventListener("click", myFunction);
element.addEventListener("click", mySecondFunction);
O‘zingiz sinab ko‘ring »

Siz bir xil elementga turli xil hodisalarni qo‘shishingiz mumkin:

Misol

element.addEventListener("mouseover", myFunction);
element.addEventListener("click", mySecondFunction);
element.addEventListener("mouseout", myThirdFunction);
O‘zingiz sinab ko‘ring »

Oyna Obyektiga Voqealar ishlov beruvchisini qo‘shing

addEventListener() usuli istalgan HTML-ga voqea tinglovchilarini qo‘shish imkonini beradi HTML elementlari, HTML hujjati, oyna obyekti yoki boshqalar kabi DOM obyekti xmlHttpRequest obyekti kabi hodisalarni qo‘llab-quvvatlaydigan obyektlar.

Misol

Foydalanuvchi oyna o‘lchamini o‘zgartirganda ishga tushadigan voqea tinglovchisini qo‘shing:

window.addEventListener("resize", function(){
  document.getElementById("demo").innerHTML = sometext;
});
O‘zingiz sinab ko‘ring »

Parametrlarni uzatish

Parametr qiymatlarini o‘tkazishda ko‘rsatilgan funksiyani parametrlar bilan chaqiradigan "anonim Function" dan foydalaning:

Misol

element.addEventListener("click", function(){ myFunction(p1, p2); });
O‘zingiz sinab ko‘ring »

Event bubbling yoki event capturing?

HTML DOM-da hodisalarni tarqatishning ikki yo‘li mavjud: pufaklash va yozib olish.

Hodisalarning tarqalishi - bu hodisa sodir bo‘lganda element tartibini aniqlash usuli. Agar sizda <div> elementi ichida <p> elementi bo‘lsa va foydalanuvchi <p> ​​elementiga bosgan bo‘lsa, qaysi elementning "klik" hodisasi birinchi bo‘lib ishlov berilishi kerak?

Ko‘p bo‘lmagan ichki elementning hodisasi birinchi bo‘lib, so‘ngra tashqi: avval

elementining bosish hodisasi, so‘ngra

elementining bosish hodisasi ishlanadi.

Tashqi ko‘pchilik elementning hodisasini suratga olishda avvalo, so‘ngra ichki hodisa qayta ishlanadi: avval

elementining bosish hodisasi, so‘ngra

elementining bosish hodisasi ishlanadi.

addEventListener() usuli yordamida siz "useCapture" parametridan foydalanib tarqalish turini belgilashingiz mumkin:

addEventListener(event, function, useCapture);

Standart qiymat noto‘g‘ri bo‘lib, u ko‘pikli tarqalishdan foydalanadi, qiymat rostga o‘rnatilganda, hodisa yozib olish tarqalishidan foydalanadi.

Misol

document.getElementById("myP").addEventListener("click", myFunction, true);
document.getElementById("myDiv").addEventListener("click", myFunction, true);
O‘zingiz sinab ko‘ring »

removeEventListener() metodi

removeEventListener() usuli sodir bo‘lgan voqea ishlovchilarni olib tashlaydi addEventListener() usuli bilan biriktirilgan:

Misol

element.removeEventListener("mousemove", myFunction);
O‘zingiz sinab ko‘ring »

HTML DOM Event obyekti bo‘yicha ma’lumotnoma

Barcha HTML DOM hodisalari ro‘yxatini ko‘rish uchun bizning to‘liq HTML DOM hodisasi obyekti ma’lumotnomamizga qarang.



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!