Pergunta

O YUI línguas apoio rtl? . (RTL: direita para a esquerda, como árabe ou hebraico)

Se sim, como? Eu quero mostrar uma barra de menu, onde os diferentes itens do menu iniciar, perto da margem direita e vá para a esquerda.

Foi útil?

Solução

Não há suporte para idiomas RTL em YUI 2.x. Eu entrou com um bug sobre isso mais de um ano e com uma resposta dizendo que pode adicioná-lo em uma versão posterior. (Eu já não pode encontrar o erro, uma vez que mudou para seu novo rastreador, desculpe.) Esperemos que eles estão adicionando suporte RTL para YUI 3.x, mas eu não ter verificado os lançamentos de visualização (nem posso encontrá-los mencionar a adição de RTL suporte).

Isso não quer dizer menus YUI não pode fazer RTL, embora leva um pouco de trabalho, como não há como suporte embutido. Eu não faço nenhuma reivindicação que isso funciona 100% em todos os navegadores, especialmente não IE.

Em primeiro lugar, você precisa dos itens de menu a fluir na direção oposta, e começar no lado oposto da página. Eu acredito que isso funciona na maioria dos navegadores (exceto IE6, é claro, argh - para esse navegador, você precisa fazer algum trabalho extra que eu não me lembro a resposta):

.yuimenubaritem { float: right; }

Em segundo lugar, você precisa do submenus do MenuBar a fluir na direção oposta. Você pode fazer isso alterando o submenualignment atributo de configurações de seus menus':

// 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"] });

A pior parte é tentar obter os eventos de teclado para funcionar corretamente, como neste ponto pressionando a direita faz com que o movimento do cursor para a esquerda e vice-versa. Para fazer isso, você terá que roubar _onKeyDown do Menu () e alterá-lo de modo que, se a barra de menu é definido RTL (armazenar esta informação em uma var em algum lugar), ele processa a esquerda / direita um pouco diferente. (Desculpe, você vai ter que descobrir isso em seu próprio país, mas deve ser uma simples questão de mudar de casos no pressionamento de teclas).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top