یک لیست کارهای ساده بسازید که کاربر بتواند آیتمها را با کشیدن و رها کردن (drag & drop) جابهجا و مرتب کند با استفاده از HTML5 و JavaScript.
1.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:12 0.0
برای حل این مسئله از ویژگی draggable در عناصر لیست و رویدادهای HTML5 Drag & Drop (dragstart, dragover, drop, dragend) در جاوااسکریپت استفاده کنید: در dragstart اطلاعات یا مرجع عنصر مبدا را ذخیره کنید، در dragover با event.preventDefault() اجازه رها کردن را بدهید، و در drop محل جدید را با درج عنصر مبدا در DOM تنظیم کنید. برای ذخیرهی مرتبسازی میتوانید ترتیب جدید را در localStorage ذخیره کنید تا پس از بارگذاری صفحه باقی بماند. نکات و ترفندها: از کلاسهای CSS برای نشان دادن حالت در حال کشیدن استفاده کنید، از event delegation برای سادهتر کردن مدیریت رویدادها بهره ببرید، و برای دسترسیپذیری aria-grabbed یا نقشهای مناسب را اضافه کنید؛ در صورت نیاز به پشتیبانی موبایل، راهحل لمسی جایگزین یا کتابخانههای سبک برای drag & drop را در نظر بگیرید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای پیادهسازی drag & drop در یک لیست ساده، از dragstart برای ذخیرهٔ مرجع آیتم مبدا و از drop برای درج آن در موقعیت جدید استفاده کنید. در رویداد dragover با event.preventDefault() اجازهٔ رها شدن را بدهید تا جای مناسب کشیدن مشخص شود. برای بهروزرسانی مرتبسازی در مرورگر و حفظ آن پس از بارگذاری، ترتیب جدید را در localStorage ذخیره کنید و هنگام بارگذاری دوباره اعمال کنید. همچنین برای دسترسپذیری aria-grabbed را اضافه کنید و از نقشهای مناسب استفاده کنید و از کلاسهای CSS برای نشان دادن حالت در حال کشیدن بهره ببرید. در صورت نیاز پشتیبانی موبایل، روشهای لمس یا کتابخانههای سبک را مدنظر قرار دهید.
گزارش