یک رابط کاربری ساده با دو بخش بسازید که یکی از بخشها با کلیک یک Custom Event حاوی داده را منتشر کند و بخش دیگر آن رو شنیده و محتوای خود را با دادهی دریافتی بروزرسانی کند.
1.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:43 0.0
برای حل این سوال از جاوااسکریپت و APIهای DOM استفاده کنید: یک عنصر مثل دکمه بسازید که هنگام کلیک new CustomEvent('data:update', {detail: {text: 'متن نمونه'}, bubbles: true}) را ایجاد و با dispatchEvent منتشر کند، و یک عنصر نمایشگر که با addEventListener('data:update', e => { /* خواندن e.detail و بهروزرسانی DOM */ }) به این رویداد گوش دهد و محتوایش را تغییر دهد. نکات مفید: از event.detail برای انتقال داده استفاده کنید، در صورت نیاز bubbles: true را فعال کنید تا شنوندههای والد هم بتوانند رویداد را دریافت کنند، و از توابع جدا برای ایجاد و ثبت listener ها برای خوانایی کد بهره ببرید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای خوانایی و نگهداری بهتر، ایجاد تابعی مستقل برای ساخت CustomEvent و تابعی برای ثبت listener بنویسید. وقتی از bubbles: true استفاده میکنید، اطمینان پیدا کنید که یک والد مشترک listener را ثبت کرده است تا رویداد به آن برسد. استفاده از event.detail به عنوان تنها منبع داده رویداد را تشویق میکند و از انتشار اطلاعات بیشتر جلوگیری میکند. فراموش نکنید که listener قبل از انتشار رویداد اضافه شود تا هیچ دادهای از دست نرود.
گزارش