طريقة addEventListener() لموضوع DOM HTML
- الصفحة السابقة accessKey
- الصفحة التالية appendChild()
- العودة إلى الطبقة السابقة موضوع Elements DOM HTML
التعريف والاستخدام
addEventListener()
الطريقة تضيف معالج الحدث إلى العنصر.
مثال
مثال 1
إضافة حدث click إلى عنصر <button>:
element.addEventListener("click", myFunction); function myFunction() { document.getElementById("demo").innerHTML = "Hello World"; }
مثال 2
الكود الأكثر تقليلًا:
element.addEventListener("click", function() { document.getElementById("demo").innerHTML = "Hello World"; });
يمكنك العثور على أمثلة إضافية في نهاية الصفحة.
النص
element.addEventListener(type, function, useCapture)
المعلمات
المعلمات | الوصف |
---|---|
type |
مطلوب. اسم الحدث. لا تستخدم بدلاً من ذلك "on". استخدم "click" بدلاً من "onclick". |
function | مطلوب. الدالة التي يتم تشغيلها عند حدوث الحدث. |
useCapture |
اختياري (القيمة الافتراضية = false).
|
القيمة المعدة
لا يوجد.
تفاصيل تقنية
هذه الطريقة تضيف وظيفة مستمع الحدث المحددة إلى مجموعة المستمعين الحالية للعقدة الحالية، لتعالجة النوع المحدد من الأحداث. type للحدث. useCapture إذا كانت قيمتها true، فإن المستمع يتم تسجيله كمعالج أحداث ملاحظة. useCapture إذا كانت قيمتها false، فإنها يتم تسجيلها كمعالج أحداث عادي.
addEventListener() قد يتم استدعاؤها عدة مرات، لتسجيل عدة معالجات أحداث لنفس النوع في نفس العقدة. ولكن يجب الانتباه إلى أن DOM لا يمكنه تحديد ترتيب استدعاء معالجات الأحداث المتعددة.
إذا تم تسجيل وظيفة مستمع الحدث نفسها في نفس العقدة باستخدام type و useCapture إذا تم تسجيل المعامل كمرتين، فإن التسجيل الثاني سيتم تجاهله. إذا كنت تعمل على معالجة أحداث عقدة، فإن تسجيل مستمع جديد للحدث في نفس العقدة لن يؤدي إلى استدعاء مستمع الحدث الجديد.
عند استخدام Node.cloneNode() الطريقة أو Document.importNode() عند نسخ عقدة Document لن يتم نسخ مستمعي الأحداث المسجلين في العقدة الأصلية.
هذه الطريقة موجودة أيضًا Document و Window تم تعريفها على العنصر، وتعمل بنفس الطريقة.
مزيد من الأمثلة
مثال 3
يمكنك إضافة العديد من الأحداث إلى العنصر نفسه:
element.addEventListener("click", myFunction1); element.addEventListener("click", myFunction2);
مثال 4
يمكنك إضافة أحداث مختلفة إلى العنصر نفسه:
element.addEventListener("mouseover", myFunction); element.addEventListener("click", someOtherFunction); element.addEventListener("mouseout", someOtherFunction);
مثال 5
للتحويل قيم المعاملات، استخدم "دالة مجهولة المصدر":
element.addEventListener("click", function() { myFunction(p1, p2); });
مثال 6
تغيير لون الخلفية لـ <button> عناصر:
element.addEventListener("click", function() { this.style.backgroundColor = "red"; });
مثال 7
الفرق بين التبني والانتباه:
element1.addEventListener("click", myFunction, false); element2.addEventListener("click", myFunction, true);
مثال 8
حذف معالج الحدث:
element.addEventListener("mousemove", myFunction); element.removeEventListener("mousemove", myFunction);
دعم المتصفحات
element.addEventListener()
هي وظيفة DOM Level 2 (2001).
يدعم جميع المتصفحات بشكل كامل:
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
Chrome | IE | Edge | Firefox | Safari | Opera |
الدعم | 9-11 | الدعم | الدعم | الدعم | الدعم |
الصفحات ذات الصلة
طرق العنصر:
طرق الوثيقة:
دليل:
- الصفحة السابقة accessKey
- الصفحة التالية appendChild()
- العودة إلى الطبقة السابقة موضوع Elements DOM HTML