وما هي أفضل البدائل؟
لماذا ألغيت الدالة toggle() في jQuery؟
قرأت فعلا أنه تم إلغائها .. لكني ما زلت أستخدمها وقمت بتجربتها قبل كتابة هذا الرد مباشرة للتأكد :) يمكنك معاينة ذلك على هذا الرابط ..
على كل حال .. إليك هذه البدائل
الطريقة الأولى
بعض التوضيحات:
سنقوم بحفظ الحال التي عليها العنصر المراد تغييره .. و لتكن true .. أو أي كلمة تريدها .
عند مناداة الدالة سنقوم بعمل كود شرطي لمعرفة الحالة السابق الحديث عنها في النقطة السابقة .. و بناء عليه نحدد الإتجاه ..
إن كانت بـ true سنفعل شيء ما في الإتجاه الفلاني .. وليكن الإخفاء .. ثم نقوم بتغيير قيمة الحال .. إلى النقيض .. بما يعني تغييرها إلى false
و إن كانت الحالة بـ false .. سنفعل شيء في الإتجاه المعاكس .. و ليكن الظهور .. و أيضا نقوم بتغيير قيمة الحال إلى النقيض .. بما يعني true .. وهكذا .. و إليك الكود و به تعليقات ..
بالطبع كل ما أردت إيصاله هو الفكرة ببساطة .. و يمكنك تعديل الأكواد كما تريد لتناسب مشروعك .. يمكنك مثلا عمل دالة .. ترسل لها الـ #id .. فتنفذ هذا الأمر عليه ..
الطريقة الثانية
هذه الطريقة وجدتها على SO .. على هذا الرابط .. و لكن لم أقم بتجربتها بعد ..
قرأت فعلا أنه تم إلغائها .. لكني ما زلت أستخدمها وقمت بتجربتها قبل كتابة هذا الرد مباشرة للتأكد :) يمكنك معاينة ذلك على هذا الرابط ..
غريب! فعلاً جربتها على مختلف إصدارات jQuery ولا تزال تعمل! هل هو (إلغاء شكلي) مثلاً؟ :)
There were actually two .toggle() methods - effectively a show/hide .toggle which was not deprecated and the event binding method which was.
المصدر:
التعليقات