التابع ‎event.stopPropagation‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery

من موسوعة حسوب
مراجعة 00:10، 30 مايو 2018 بواسطة Khaled-yassin (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>‎event.stopPropagation</code>‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery}}</noinclude> == <code>eve...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

event.stopPropagation()‎

القيمة المعادة

يُعيد هذا التابع قيمة غير معرفة.

الوصف

يمنع هذا التابع الحدث من الإنتقال عبر شجرة DOM إلى العناصر الأب [event bubbling]، مما يمنع إبلاغ أي من المعالجات الأب عن الحدث.

event.stopPropagation()‎

أُضيف مع الإصدار: 1.0.

لا يقبل هذا التابع أي وسائط.

يُستخدم التابع event.isPropagationStopped()‎ للحقق من استدعاء هذا التابع (على كائن الحدث هذا).

يعمل هذا التابع مع الأحداث المخصصة المُطلَقة بواسطة التابع trigger()‎ أيضًا.

لاحظ أن هذا التابع لن يمنع المعالجات الأخرى من العمل على نفس العنصر.

ملاحظات إضافية

نظرًا لأن التابع ‎.live()‎ يعالج الأحداث بمجرد نشرها إلى أعلى المستند، لا يمكن إيقاف نشر أحداث live. وبالمثل، فإن الأحداث التي يعالجها التابع ‎.delegate()‎ سوف تنتشر إلى العناصر التي فُوِّضَت إليها؛ ستُنفَّذ بالفعل معالجات الأحداث المرتبطة بأي عناصر تحتها في شجرة DOM في الوقت الذي يُستدعى فيه معالج الحدث المفوَّض. لذلك، قد تمنع هذه المعالجات المعالجَ المفوَّض من التشغيل عن طريق استدعاء event.stopPropagation()‎ أو إعادة false .

أمثلة

منع انتقال الأحداث عبر شجرة DOM إلى العناصر الأب عند حدث النقر.

$( "p" ).click(function( event ) {
  event.stopPropagation();
  // Do something
});

مصادر