gpt4 book ai didi

javascript - YUI 支持 rtl 语言

转载 作者:行者123 更新时间:2023-11-30 10:56:36 27 4
gpt4 key购买 nike

YUI 支持 rtl 语言吗? (rtl:从右到左,例如希伯来语或阿拉伯语)。

如果可以,怎么做?我想显示一个 MenuBar,其中不同的菜单项从右边距开始,然后向左移动。

最佳答案

YUI 2.x 不支持 RTL 语言。我在一年多前提交了一个关于它的错误并得到回复说他们可能会在以后的版本中添加它。 (抱歉,自从他们切换到新跟踪器后,我再也找不到这个错误了。)希望他们为 YUI 3.x 添加 RTL 支持,但我还没有检查预览版(我也找不到他们提到添加RTL 支持)。

这并不是说 YUI 菜单不能进行 RTL,尽管它需要一些工作,因为没有内置支持。我并没有声称这在所有浏览器中 100% 有效,尤其是在 IE 中。

首先,您需要菜单项以相反的方向流动,并从页面的另一侧开始。我相信这适用于大多数浏览器(IE6 除外,当然,唉——对于那个浏览器,你需要做一些我不记得答案的额外工作):

.yuimenubaritem { float: right; }

其次,您需要 MenuBar 的子菜单以相反的方向流动。您可以通过更改菜单配置的 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"] });

最糟糕的部分是试图让键盘事件正常工作,因为此时按下右键会使光标向左移动,反之亦然。为此,您必须劫持 MenuBar 的 _onKeyDown() 并更改它,这样,如果 MenuBar 设置为 RTL(将此信息存储在某处的 var 中),它处理左/右的方式会略有不同。 (抱歉,您必须自己解决这个问题,但这应该是按按键切换大小写的简单问题)。

关于javascript - YUI 支持 rtl 语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/700802/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com