الدرس 5 من 8

تفويض الأحداث

هدف الدرس

مستمع واحد لعناصر تُضاف وتُحذف

01

الشرح

إذا ربطت مستمعًا بكل زر حذف، فماذا يحدث للأزرار التي تُضاف بعد ذلك؟ لن يحدث شيء عند الضغط عليها، لأنها لم تكن موجودة حين ربطت المستمعات.

والحلّ يعتمد على أن الحدث ينتقل صعودًا من العنصر المضغوط إلى العناصر التي تحتويه، فتربط مستمعًا واحدًا بالحاوية، ثم تتحقّق داخله من العنصر الذي ضُغط فعلًا.

والتعبير event.target.closest('.del') يُرجع العنصر المضغوط نفسه إن طابق المُحدِّد (selector)، أو أقرب عنصر يحتويه ويطابقه، فإن لم يجد شيئًا أرجع null.

02

المطلوب

اربط مستمعًا واحدًا على #list يحذف العنصر عند الضغط على زرّ الحذف فيه، ويعمل كذلك مع العناصر التي تُضاف لاحقًا.

الفحوص

4 فحوص
  1. الضغط على «حذف» يحذف عنصره
  2. الضغط داخل العنصر بعيدًا عن الزر لا يحذف شيئًا
  3. يعمل مع عنصر أُضيف بعد ربط المستمع
  4. حذف عنصرين متتاليين يعمل بمستمع واحد
index.html
المعاينة
index.html100%
–/4

اضغط «تشغيل وتصحيح» ليبدأ الفحص.

تجد 4 فحوص في بطاقة «المطلوب».