پرسش

تفاوت بین currentTarget و target در جاوااسکریپت چیست؟

What is the exact difference between currentTarget property and target property in JavaScript

تفاوت دقیق بین خصوصیت currentTarget و target تو جاوااسکریپت چیست؟ لطفا با یک مثال توضیح بدین که هر کدوم از این خصوصیت ها تو چه شرایطی استفاده می‌شن و چه تفاوت‌هایی با هم دارن.
ممنونم

1403/06/05
پاسخ
محمدامین سعیدی راد
بیوگرافی محمدامین سعیدی راد

در جاوااسکریپت، target عنصری هست که رویداد را ایجاد کرده (مثلاً کاربری روی آن کلیک کرده است)، در حالی که currentTarget عنصری است که رویداد روی آن شنود (event listener) می‌شه.

این دو معمولاً زمانی که رویدادها حباب‌دار (bubbling) می‌شن ، متفاوت اند.

برای مثال، اگه یک رویداد کلیک روی یک عنصر درون یک دیو (div) رخ بده، target به عنصر داخلی اشاره می‌کنه ، در حالی که currentTarget به دیو (div) اشاره خواهد کرد:

document.getElementById("parent").addEventListener("click", function(event) {
console.log("target:", event.target.id); // real element
console.log("currentTarget:", event.currentTarget.id); // event listener
});

در این مثال، target ممکنه یک عنصر فرزند باشه، در حالی که currentTarget همیشه همون عنصری هست که رویداد بهش گوش می‌ده.

پاسخ: 1403/06/05
آخرین آپدیت: 1403/08/05