مетод addEventListener() مستند Document HTML DOM

تعریف و استفاده

addEventListener() روشی برای اضافه کردن برنامه‌کننده رویداد به سند وجود دارد.

مثال

مثال 1

به سند اضافه کردن رویداد click:

document.addEventListener("click", myFunction);
function myFunction() {
  document.getElementById("demo").innerHTML = "Hello World";
}

آزمایش کنید

رابط‌نویسی ساده‌تر:

document.addEventListener("click", function(){
  document.getElementById("demo").innerHTML = "Hello World";
});

آزمایش کنید

مثال 2

می‌توانید شنونده‌های چندگانه رویداد را به مستند اضافه کنید:

document.addEventListener("click", myFunction1);
document.addEventListener("click", myFunction2);

آزمایش کنید

مثال 3

می‌توانید رویدادهای مختلفی را اضافه کنید:

document.addEventListener("mouseover", myFunction);
document.addEventListener("click", someOtherFunction);
document.addEventListener("mouseout", someOtherFunction);

آزمایش کنید

مثال 4

برای انتقال پارامترها از تابع با استفاده از "توابع ناشناس" تابع با پارامترها فراخوانی کنید:

document.addEventListener("click", function() {
  myFunction(p1, p2);
});

آزمایش کنید

مثال 5

تغییر رنگ پس‌زمینه مستند:

document.addEventListener("click", function(){
  document.body.style.backgroundColor = "red";
});

آزمایش کنید

مثال 6

از روش removeEventListener() استفاده کنید:

// اضافه کردن شنونده رویداد
document.addEventListener("mousemove", myFunction);
// حذف شنونده رویداد
document.removeEventListener("mousemove", myFunction);

آزمایش کنید

رابط‌نویسی

document.addEventListener(نوع, تابع, capture)

پارامترها

پارامترها توضیح
نوع

ضروری. نام رویداد.

از پیشوند "on" استفاده نکنید.

از "click" به جای "onclick" استفاده کنید.

تمام رویدادهای HTML DOM در اینجا لیست شده‌اند:

دستورالعمل کتابخانه رویداد HTML DOM

تابع

ضروری. تابعی که در وقوع وقایع اجرا می‌شود.

وقتی رویداد رخ می‌دهد، گره رویداد به عنوان اولین پارامتر به تابع ارسال می‌شود.

نوع رویداد گره‌ای به نوع رویداد مشخص شده بستگی دارد. به عنوان مثال، رویداد "click" به گره MouseEvent تعلق دارد.

capture

اختیاری (پیش‌فرض = false).

  • true - برنامه‌ریزی‌کننده در مرحله‌ی capture اجرا می‌شود
  • false - برنامه‌ریزی‌کننده در مرحله حباب‌بندی اجرا می‌شود

مقدار بازگشتی

بدون‌نوشتار.

جزئیات فنی

این روش یک تابع شنونده رویداد مشخص شده را به مجموعه شنوندگان فعلی گره اضافه می‌کند تا رویدادهای مشخص شده type را پردازش کند. اگر capture به true، شنونده رویداد به عنوان شنونده رویداد capture ثبت می‌شود. اگر capture به false، به عنوان شنونده رویداد معمولی ثبت می‌شود.

addEventListener() ممکن است چندین بار فراخوانی شود، چندین رویدادگرفتار برای یک نوع رویداد در یک گره ثبت شود. اما باید توجه داشت که DOM نمی‌تواند ترتیب فراخوانی چندین رویدادگرفتار را تعیین کند.

اگر یک تابع شنونده رویداد در همان گره با همان type و capture با استفاده از پارامترها دو بار ثبت شود، ثبت دوم نادیده گرفته می‌شود. اگر در حال پردازش یک رویداد در یک گره هستید و یک شنونده جدید رویداد در همان گره ثبت شود، شنونده جدید رویداد برای آن رویداد فراخوانی نمی‌شود.

وقتی Node.cloneNode() یا Document.importNode() وقتی یک گره Document کپی می‌شود، شنوندگان رویدادهای ثبت‌شده برای گره اصلی کپی نمی‌شوند.

این روش نیز در مستندات Document و Window تعریف شده است و به همان روش کار می‌کند.

پشتیبانی مرورگر

document.addEventListener این یک ویژگی DOM Level 2 (2001) است.

همه مرورگرها این را به طور کامل پشتیبانی می‌کنند:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
پشتیبانی 9-11 پشتیبانی پشتیبانی پشتیبانی پشتیبانی

صفحات مرتبط

روش‌های عنصر

روش addEventListener()

روش removeEventListener()

روش‌های مستند

روش addEventListener()

روش removeEventListener()

آموزش

رویدادهای HTML DOM EventListener

لیست کامل رویدادهای DOM