الفرق بين المراجعتين لصفحة: «jQuery/event/stopPropagation»
Khaled-yassin (نقاش | مساهمات) أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>event.stopPropagation</code> في jQuery}}</noinclude> == <code>eve...' |
Khaled-yassin (نقاش | مساهمات) لا ملخص تعديل |
||
(مراجعتان متوسطتان بواسطة مستخدم واحد آخر غير معروضتين) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: | <noinclude>{{DISPLAYTITLE:الخاصية <code>event.stopPropagation()</code> في jQuery}}</noinclude> | ||
== <code>event.stopPropagation()</code> == | == <code>event.stopPropagation()</code> == | ||
=== القيمة المعادة === | === القيمة المعادة === | ||
تُعيد هذه الخاصية القيمة <code>[[JavaScript/undefined|undefined]]</code>. | |||
=== الوصف === | === الوصف === | ||
تمنع هذه الخاصية الحدث من الانتقال عبر شجرة DOM إلى العناصر الأب (event bubbling)، مما يمنع إبلاغ أي من المعالجات الأب عن الحدث. | |||
=== <code>event.stopPropagation()</code> === | === <code>event.stopPropagation()</code> === | ||
أُضيف مع الإصدار: [http://api.jquery.com/category/version/1.0 1.0]. | أُضيف مع الإصدار: [http://api.jquery.com/category/version/1.0 1.0]. | ||
لا | لا تقبل هذه الخاصية أي وسائط. | ||
تستخدم الخاصية <code>[[jQuery/event/isPropagationStopped|event.isPropagationStopped()]]</code> للحقق من استدعاء هذا التابع (على كائن الحدث هذا). | |||
تعمل هذه الخاصية مع الأحداث المخصصة المُطلَقة بواسطة التابع <code>[[jQuery/trigger|trigger()]]</code> أيضًا. | |||
لاحظ أن | لاحظ أن هذه الخاصية لن تمنع المعالجات الأخرى من العمل على نفس العنصر. | ||
=== ملاحظات إضافية === | === ملاحظات إضافية === | ||
سطر 23: | سطر 23: | ||
=== أمثلة === | === أمثلة === | ||
منع انتقال الأحداث عبر شجرة DOM إلى العناصر الأب عند حدث النقر | منع انتقال الأحداث عبر شجرة DOM إلى العناصر الأب عند وقوع حدث النقر:<syntaxhighlight lang="javascript"> | ||
$( "p" ).click(function( event ) { | $( "p" ).click(function( event ) { | ||
event.stopPropagation(); | event.stopPropagation(); | ||
// Do something | // Do something | ||
}); | }); | ||
</syntaxhighlight>مصادر | </syntaxhighlight> | ||
* [http://api.jquery.com/event.stopPropagation/ صفحة | |||
== مصادر == | |||
* [http://api.jquery.com/event.stopPropagation/ صفحة الخاصية event.stopPropagation() في توثيق jQuery الرسمي.] | |||
[[تصنيف:jQuery]] | [[تصنيف:jQuery]] | ||
[[تصنيف:jQuery Method]] | [[تصنيف:jQuery Method]] | ||
[[تصنيف:jQuery Events]] | [[تصنيف:jQuery Events]] |
المراجعة الحالية بتاريخ 13:24، 6 يونيو 2018
event.stopPropagation()
القيمة المعادة
تُعيد هذه الخاصية القيمة undefined
.
الوصف
تمنع هذه الخاصية الحدث من الانتقال عبر شجرة 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
});