شبيبة تعليمي

شبيبة المنزل مقدمة شبيبة شبيبة إلى أين إخراج JS بيانات شبيبة بناء جملة JS تعليقات JS متغيرات JS JS Let شبيبة كونست مشغلي JS شبيبة الحساب احالة JS أنواع بيانات JS وظائف JS كائنات JS أحداث شبيبة سلاسل شبيبة طرق سلسلة JS بحث سلسلة JS JS String Templates أرقام شبيبة طرق عدد JS صفيفات JS طرق صفيف JS ترتيب صفيف JS تكرار صفيف JS JS Array Const تواريخ شبيبة تنسيقات التاريخ JS طرق الحصول على تاريخ JS طرق تعيين تاريخ JS شبيبة الرياضيات شبيبة عشوائية شبيبة منطقية مقارنات شبيبة شروط JS مفتاح JS JS Loop For JS Loop For In. شبيبة حلقة JS لـ Of شبيبة حلقة بينما شبيبة استراحة شبيبة تكرارات مجموعات JS خرائط شبيبة شبيبة تايبوف JS نوع التحويل شبيبة Bitwise JS RegExp أخطاء JS شبيبة النطاق رفع JS وضع JS الصارم شبيبة هذه الكلمة دالة سهم JS فئات JS شبيبة شبيبة تصحيح أخطاء JS دليل أسلوب JS أفضل ممارسات JS أخطاء JS أداء JS شبيبة الكلمات المحجوزة

إصدارات JS

إصدارات JS JS 2009 (ES5) شبيبة 2015 (ES6) شبيبة 2016 شبيبة 2017 شبيبة 2018 شبيبة آي إي / إيدج تاريخ شبيبة

كائنات JS

تعريفات الكائن خصائص الموضوع طرق الكائن عرض الكائن موصلي الكائنات منشئو الكائنات نماذج الكائن كائن تكرارات مجموعات الكائن خرائط الكائن مرجع الكائن

وظائف JS

تعريفات الوظائف معلمات الوظيفة استدعاء الوظيفة استدعاء الوظيفة تطبيق الوظيفة عمليات إغلاق الوظائف

فئات JS

مقدمة عن الفصل الوراثة الطبقية فئة ثابتة

شبيبة آسينك

عمليات الاسترجاعات JS شبيبة غير متزامن وعود شبيبة شبيبة Async / انتظار

JS HTML DOM

مقدمة DOM طرق DOM مستند DOM عناصر DOM DOM HTML نماذج DOM DOM CSS الرسوم المتحركة DOM أحداث DOM مستمع أحداث DOM التنقل في DOM عقد DOM مجموعات DOM قوائم عقدة DOM

متصفح JS BOM

نافذة JS شاشة JS موقع JS تاريخ شبيبة شبيبة ملاح تنبيه منبثق لـ JS توقيت شبيبة ملفات تعريف الارتباط JS

JS Web APIs

مقدمة واجهة برمجة تطبيقات الويب واجهة برمجة تطبيقات نماذج الويب واجهة برمجة تطبيقات سجل الويب واجهة برمجة تطبيقات تخزين الويب Web Worker API واجهة برمجة تطبيقات جلب الويب واجهة برمجة تطبيقات تحديد الموقع الجغرافي على الويب

شبيبة أجاكس

مقدمة أجاكس أجاكس XMLHttp طلب AJAX استجابة AJAX ملف AJAX XML أجاكس بي إتش بي أجاكس آسيا والمحيط الهادئ قاعدة بيانات أجاكس تطبيقات أجاكس أمثلة AJAX

شبيبة شبيبة

مقدمة JSON بناء جملة JSON JSON مقابل XML أنواع بيانات JSON تحليل JSON تنسيق JSON كائنات JSON صفائف JSON خادم JSON JSON PHP JSON HTML جسون جسونب

JS مقابل jQuery

محددات jQuery jQuery HTML jQuery CSS jQuery DOM

شبيبة الرسومات

شبيبة الرسومات قماش شبيبة شبيبة بلوتلي JS Chart.js مخطط جوجل JS شبيبة D3.js

أمثلة JS

أمثلة JS JS HTML DOM إدخال JS HTML كائنات JS HTML أحداث HTML متصفح JS محرر JS تمارين شبيبة شبيبة مسابقة شهادة JS

مراجع JS

كائنات جافا سكريبت كائنات HTML DOM


جافا سكريبت HTML DOM EventListener


طريقة addEventListener ()

مثال

أضف مستمع حدث يتم تنشيطه عندما ينقر المستخدم على زر:

document.getElementById("myBtn").addEventListener("click", displayDate);

تقوم addEventListener()الطريقة بإرفاق معالج حدث بالعنصر المحدد.

تقوم addEventListener()الطريقة بإرفاق معالج حدث بعنصر بدون الكتابة فوق معالجات الأحداث الموجودة.

يمكنك إضافة العديد من معالجات الأحداث إلى عنصر واحد.

يمكنك إضافة العديد من معالجات الأحداث من نفس النوع إلى عنصر واحد ، مثل حدثين "نقر".

يمكنك إضافة مستمعين للأحداث إلى أي كائن DOM وليس فقط عناصر HTML. أي كائن النافذة.

تجعل هذه addEventListener()الطريقة من السهل التحكم في كيفية تفاعل الحدث مع الفقاعات.

عند استخدام addEventListener()الطريقة ، يتم فصل JavaScript عن ترميز HTML ، لقراءة أفضل ويسمح لك بإضافة مستمعين للأحداث حتى عندما لا تتحكم في ترميز HTML.

يمكنك بسهولة إزالة مستمع الحدث باستخدام removeEventListener()الطريقة.


بناء الجملة

element.addEventListener(event, function, useCapture);

المعلمة الأولى هي نوع الحدث (مثل " click" أو " mousedown" أو أي حدث HTML DOM آخر .)

المعلمة الثانية هي الوظيفة التي نريد الاتصال بها عند وقوع الحدث.

المعلمة الثالثة هي قيمة منطقية تحدد ما إذا كان سيتم استخدام فقاعات الحدث أو التقاط الحدث. هذه المعلمة اختيارية.

لاحظ أنك لا تستخدم البادئة "on" للحدث ؛ استخدم " click" بدلاً من " onclick".


أضف معالج حدث إلى عنصر

مثال

تنبيه "Hello World!" عندما ينقر المستخدم على عنصر:

element.addEventListener("click", function(){ alert("Hello World!"); });

يمكنك أيضًا الرجوع إلى وظيفة خارجية "مسماة":

مثال

تنبيه "Hello World!" عندما ينقر المستخدم على عنصر:

element.addEventListener("click", myFunction);

function myFunction() {
  alert ("Hello World!");
}


أضف العديد من معالجات الأحداث إلى نفس العنصر

addEventListener()تسمح لك هذه الطريقة بإضافة العديد من الأحداث إلى نفس العنصر ، دون الكتابة فوق الأحداث الموجودة :

مثال

element.addEventListener("click", myFunction);
element.addEventListener("click", mySecondFunction);

يمكنك إضافة أحداث من أنواع مختلفة لنفس العنصر:

مثال

element.addEventListener("mouseover", myFunction);
element.addEventListener("click", mySecondFunction);
element.addEventListener("mouseout", myThirdFunction);

قم بإضافة "معالج الأحداث" إلى كائن النافذة

تسمح لك هذه addEventListener()الطريقة بإضافة مستمعين للأحداث على أي كائن HTML DOM مثل عناصر HTML أو مستند HTML أو كائن النافذة أو الكائنات الأخرى التي تدعم الأحداث ، مثل xmlHttpRequestالكائن.

مثال

أضف مستمع حدث يتم تنشيطه عندما يقوم المستخدم بتغيير حجم النافذة:

window.addEventListener("resize", function(){
  document.getElementById("demo").innerHTML = sometext;
});

تمرير المعلمات

عند تمرير قيم المعلمات ، استخدم "دالة مجهولة" تستدعي الوظيفة المحددة بالمعلمات:

مثال

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

محتدما الحدث أم التقاط الحدث؟

هناك طريقتان لنشر الأحداث في HTML DOM ، الفقاعات والتقاطها.

انتشار الحدث هو وسيلة لتعريف ترتيب العنصر عند وقوع الحدث. إذا كان لديك عنصر <p> داخل عنصر <div> ، ونقر المستخدم على العنصر <p> ، فما حدث "النقر" الخاص بالعنصر الذي يجب التعامل معه أولاً؟

في وضع الفقاعات الداخلية لحدث معظم العناصر يتم التعامل معها أولاً ثم الحدث الخارجي: يتم التعامل مع حدث نقر العنصر <p> أولاً ، ثم حدث النقر الخاص بالعنصر <div>.

عند التقاط الحدث الخارجي لمعظم العناصر يتم التعامل معه أولاً ثم الحدث الداخلي: سيتم التعامل مع حدث نقر العنصر <div> أولاً ، ثم حدث النقر الخاص بالعنصر <p>.

باستخدام طريقة addEventListener () ، يمكنك تحديد نوع الانتشار باستخدام معلمة "useCapture":

addEventListener(event, function, useCapture);

القيمة الافتراضية هي false ، والتي ستستخدم الانتشار الفقاعي ، عندما يتم تعيين القيمة على true ، يستخدم الحدث انتشار الالتقاط.

مثال

document.getElementById("myP").addEventListener("click", myFunction, true);
document.getElementById("myDiv").addEventListener("click", myFunction, true);

طريقة removeEventListener ()

تزيل هذه removeEventListener()الطريقة معالجات الأحداث التي تم إرفاقها مع طريقة addEventListener ():

مثال

element.removeEventListener("mousemove", myFunction);

مرجع كائن حدث HTML DOM

للحصول على قائمة بجميع أحداث HTML DOM ، انظر إلى مرجع كائن حدث HTML DOM الكامل .


اختبر نفسك مع التمارين

ممارسه الرياضه:

استخدم ال eventListenerلتعيين حدث onclick <button>للعنصر.

<button id="demo"></button>

<script>
document.getElementById("demo").("", myFunction);
</script>