Pergunta

eu tenho um modal dialog formulário que contém alguns "links de ajuda" que devem abrir outros painéis ou caixas de diálogo não modais sobre ele (enquanto mantém a caixa de diálogo principal de outra forma modal).

No entanto, estes sempre acabam atrás da máscara. YUI parece estar reconhecendo o mais alto z-index lá fora e definindo a máscara e a caixa de diálogo modal para serem mais altas que isso.

Se eu esperar para painelizar o conteúdo da ajuda, posso configurá-lo para ter um índice z mais alto.Até agora tudo bem.O problema então é que os campos nas caixas de diálogo secundárias e não modais ficam sem foco.A caixa de diálogo modal abaixo deles parece estar de alguma forma impedindo que o foco vá para qualquer coisa que não esteja na caixa de diálogo modal inicial.

Também seria aceitável se eu pudesse fazer essa "modalidade de grupo de diálogo" com jQuery, se o YUI simplesmente não permitir isso.

Ajuda!

Foi útil?

Solução

Por padrão, YUI gerencia o índice z de qualquer coisa que estenda YAHOO.widget.Overlay e use um painel de sobreposição.Isso é feito por meio do método "bringToTop" do YAHOO.widget.Overlay.Você pode desativar isso simplesmente alterando o método "bringToTop" para uma função vazia:

YAHOO.widget.Overlay.prototype.bringToTop = function() { };

Esse código o desativaria definitivamente e você poderia simplesmente colocá-lo na parte inferior do arquivo container.js.Acho que essa abordagem é um pouco parecida com uma marreta, então estendemos as classes YUI e depois de chamar "super.constructor" escrevemos:

this.bringToTop = function() { };

Se você fizer isso, estará essencialmente dizendo à YUI que você mesmo gerenciará os índices z dos seus elementos.Provavelmente está tudo bem, mas há algo a considerar antes de fazer isso.

Outras dicas

A caixa de diálogo original não pode ser modal se o usuário deve interagir com outros elementos – essa é a definição de modal.A caixa de diálogo original realmente precisa ser modal?Em caso afirmativo, você tentou alternar a propriedade modal da caixa de diálogo original antes de abrir os outros elementos?

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