Вопрос

Поддерживает ли YUI языки rtl?(rtl:справа налево, например, на иврите или арабском).

Если да, то каким образом?Я хочу отобразить панель меню, в которой различные пункты меню начинаются с правого поля и переходят налево.

Это было полезно?

Решение

В YUI 2.x нет поддержки языков RTL.Я сообщил об ошибке по этому поводу более года назад и получил ответ, в котором говорилось, что они могут добавить ее в более позднем выпуске.(Я больше не могу найти ошибку с тех пор, как они переключились на свой новый трекер, извините.) Надеюсь, они добавляют поддержку RTL для YUI 3.x, но я не проверял предварительные версии (и не могу найти в них упоминания о добавлении поддержки RTL).

Это не значит, что меню YUI не могут использовать RTL, хотя это требует некоторой работы, поскольку встроенной поддержки нет.Я не утверждаю, что это работает на 100% во всех браузерах, особенно не в IE.

Во-первых, вам нужно, чтобы пункты меню перемещались в противоположном направлении и начинались с противоположной стороны страницы.Я полагаю, что это работает в большинстве браузеров (за исключением IE6, конечно, argh - для этого браузера вам нужно выполнить некоторую дополнительную работу, на которую я не помню ответа):

.yuimenubaritem { float: right; }

Во-вторых, вам нужно, чтобы подменю панели меню двигалось в противоположном направлении.Вы можете сделать это, изменив выравнивание подменю атрибут конфигураций ваших меню:

// 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() меню _onKeyDown() и изменить его так, чтобы, если для меню установлен RTL (сохраните эту информацию где-нибудь в var), оно обрабатывало влево / вправо немного по-другому.(Извините, вам придется разобраться с этим самостоятельно, но это должно быть простым делом переключения регистров при нажатии клавиш).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top