سؤال

هل اللغات YUI دعم RTL؟ (ار تي ال: اليمين إلى اليسار، مثل العبرية أو العربية).

وإذا كان الأمر كذلك، كيف؟ أريد لعرض شريط_القوائم حيث تبدأ عناصر القائمة مختلفة بالقرب من الهامش الأيمن وانتقل إلى اليسار.

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

المحلول

وليس هناك دعم للغات RTL في YUI 2.X. تقدمت خلل حول هذا الموضوع منذ أكثر من سنة وحصلت على رد قائلا انها قد إضافته في بيان لاحق. (I لم تعد قادرة على العثور على خطأ لأنها تحولت إلى تعقب الجديد، آسف.) نأمل أن تقوم بإضافة دعم RTL عن YUI 3.x و لكني لم سحبه الإصدارات معاينة (ولا يمكنني العثور عليها بالذكر مضيفا دعم RTL).

وهذا لا يعني القوائم YUI لا تستطيع أن تفعل RTL، على الرغم من أنه يأخذ قليلا من العمل كما لم يكن هناك المدمج في دعم. أنا لا تدعي أن هذا يعمل 100٪ في جميع المتصفحات، لا سيما IE.

أولا، كنت في حاجة إلى عناصر القائمة في التدفق في الاتجاه المعاكس، وتبدأ على الجانب الآخر من الصفحة. وأعتقد أن هذا يعمل في معظم المتصفحات (باستثناء IE6، بطبيعة الحال، أرغ - لهذا المتصفح، تحتاج إلى القيام ببعض العمل الإضافي الذي لا أتذكر الجواب) ما يلي:

.yuimenubaritem { float: right; }

والثانية، كنت في حاجة إلى قوائم فرعية من شريط القوائم في التدفق في الاتجاه المعاكس. يمكنك القيام بذلك عن طريق تغيير submenualignment سمة من تكوينات القوائم الخاصة بك:

// For the main submenu
new YAHOO.widget.MenuBar("id", { submenualignment: ["tr","br"] });

// You have to manually add all the Menus,
// so that you can set the submenualignment on each.
new YAHOO.widget.Menu("id", { submenualignment: ["tl","tr"] });

وأسوأ جزء هو محاولة للحصول على أحداث لوحة المفاتيح للعمل بشكل صحيح، وعند هذه النقطة الحق إلحاحا يجعل المؤشر يتجه يسارا والعكس بالعكس. للقيام بذلك، سيكون لديك لخطف _onKeyDown شريط_القوائم ل() وتغييره بحيث، إذا تم تعيين شريط القوائم RTL (تخزين هذه المعلومات في مكان ما فار)، يقوم بمعالجة يسار / يمين بطريقة مختلفة قليلا. (عذرا، سيكون لديك لهذا الرقم واحد لوحدك، لكن يجب أن يكون مسألة بسيطة من تحويل الحالات على الضغط على مفتاح).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top