تلعب فقاعات الأحداث والتقاطها أدوارًا حاسمة في نشر الأحداث داخل HTML DOM API. لفهم وظائفها، دعونا نتعمق في تعقيدات هذين المفهومين.
فقاعة الأحداث مقابل التقاط الأحداث
عندما يقع حدث في عنصر متداخل داخل عنصر آخر ، ولكلا العنصرين معالجات أحداث مسجلة لهذا الحدث المعين، يحدد وضع نشر الحدث الترتيب الذي تتلقى به العناصر حدث.
التقاطر مقابل الفقاعاتيُعرف الالتقاط أيضًا باسم "التقاطر"، وهو مصطلح يساعد على تذكر ترتيب الانتشار: "تقاطر لأسفل، فقاعة up."
دعم المتصفح
قدم Netscape ميزة التقاط الأحداث، بينما دعمت Microsoft الحدث.
قد يكون أداء الأحداث الفقاعية أقل قليلاً في DOMs المعقدة مقارنة بـ التقاط الأحداث.
الاستخدامنحن نستخدم طريقة addEventListener(type,lister,useCapture) لتسجيل معالجات الأحداث إما في وضع الفقاعات (الافتراضي) أو وضع الالتقاط. لاستخدام نموذج الالتقاط، يجب تعيين الوسيطة الثالثة على true.
مثالضع في اعتبارك بنية HTML التالية:
في وضع الالتقاط، تتم معالجة الحدث أولاً بواسطة div، متبوعًا بـ ul، وأخيرًا li.
[ترتيب الحدث على QuirksMode](https://www.quirksmode.org/js/events_order.html )
[addEventListener قيد التشغيل MDN](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener)يوضح المثال التفاعلي التالي مراحل الالتقاط والفقاعات لنشر الحدث:var logElement = document.getElementById('log'); سجل الوظيفة (رسالة) { logElement.innerHTML = ('
' msg '
'); } التقاط الوظيفة () { log('capture:' this.firstChild.nodeValue.trim()); } فقاعة الوظيفة () { log('فقاعة:' this.firstChild.nodeValue.trim()); } var divs = document.getElementsByTagName('div'); لـ (var i = 0; iعند النقر على أي من العناصر المميزة، لاحظ مرحلة التقاط الحدث التي تحدث أولاً، تليها مرحلة الفقاعات.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3