انتقل إلى المحتوى

أحداث ⁦DOM⁩

⁦Event⁩ و⁦CustomEvent⁩ و⁦EventTarget⁩ في بيئة تشغيل دون ⁦DOM⁩.

في هذه الصفحة

يكشف ⁦Elide⁩ ‏⁦Event⁩ و⁦CustomEvent⁩ و⁦EventTarget⁩. ولا توجد شجرة ⁦DOM⁩، لذا يكون للإرسال هدف واحد دون اجتياز التقاط أو فقاعات.

⁦Event⁩ و⁦CustomEvent⁩

const event = new CustomEvent("tick", {
  detail: 42,
  cancelable: true,
});

تكشف الأحداث العناصر القياسية للنوع والهدف والهدف الحالي والمرحلة والإلغاء والثقة والطابع الزمني والانتشار. ويضيف ⁦CustomEvent⁩ ‏⁦detail⁩.

أثناء الإرسال، تكون ⁦eventPhase⁩ هي ⁦Event.AT_TARGET⁩ ويحتوي ⁦composedPath()⁩ على الهدف الحالي. وبعد الإرسال، يكون ⁦currentTarget⁩ هو ⁦null⁩ ويكون ⁦composedPath()⁩ فارغًا؛ ويبقى ⁦target⁩ هدف الإرسال.

EventTarget

const target = new EventTarget();

target.addEventListener("submit", (event) => {
  event.preventDefault();
}, { once: true });

target.dispatchEvent(new Event("submit", { cancelable: true })); // false
target.dispatchEvent(new Event("submit", { cancelable: true })); // true
  • يمكن أن تكون دوال الاستدعاء دوالًا أو كائنات تتضمن ⁦handleEvent()⁩.
  • تُتجاهل التسجيلات المكررة لـ ⁦(type, callback, capture)⁩.
  • تُقبل الخيارات ⁦once⁩ و⁦passive⁩ و⁦capture⁩ و⁦signal⁩.
  • إزالة مستمع أثناء الإرسال تمنع ذلك المستمع من العمل لاحقًا في الإرسال نفسه.
  • إضافة مستمع أثناء الإرسال تؤثر في إرسال لاحق.
  • يُبلَّغ عن استثناءات المستمعين دون إيقاف المستمعين المتبقين.
  • يعيد ⁦dispatchEvent()⁩ القيمة ⁦false⁩ عندما يُمنع حدث قابل للإلغاء.

راجع إلغاء ⁦DOM⁩ للمستمعين الذين تتحكم بهم الإشارات.

Reference

Status: Full · Not measured · since 1.1.0

Exports

ExportKindStatusNotes
EventclassFulltype, target, currentTarget, NONE, CAPTURING_PHASE, AT_TARGET, BUBBLING_PHASE, eventPhase, composedPath(), stopPropagation(), stopImmediatePropagation(), bubbles, cancelable, preventDefault(), defaultPrevented, composed, isTrusted, timeStamp, cancelBubble
CustomEventclassFulldetail
EventTargetclassFulladdEventListener(), removeEventListener(), dispatchEvent()

هل كانت هذه الصفحة مفيدة؟