Pergunta

Então meu site usa andré machado para exibir um texto dinâmico.O problema é que eu preciso que o usuário seja capaz de copiar e colar um texto.

Clique com o botão direito do mouse e selecionando copiar obras, mas Ctrl+C não (não há atalhos de teclado) e a maioria das pessoas usa Ctrl+C?Você pode ver um exemplo do que eu estou falando aqui.

Apenas vá para a "web" exemplos e clique em "inline".Aviso de atalhos de teclado não funcionam no "nesta página" exemplo.A única diferença entre os dois eu vejo é o jogador js eles usam."Inline", usa o html.js jogador e esta "página" usa iframe.js.Também, acredito que ele usa a biblioteca mootools.Qualquer idéias?

Foi útil?

Solução

A melhor opção é desativar o teclado atalhos de navegação em tabs), definindo o "enableKeys" opção para false (ver nesta página).

Alternativamente, você poderia fazer o que Robby sugere e modificar o shadowbox.js arquivo mas só faça isso se você precisa ter o plugin de navegação do teclado.Eu acho que você deseja pesquisar para este bloco de código e modificá-lo de modo que ele só cancela o evento padrão, se um dos atalhos é usado (eu adicionei algumas quebras de linha e de recorte):

var handleKey=function(e){
    var code=SL.keyCode(e);
    SL.preventDefault(e);
    if(code==81||code==88||code==27){
        SB.close()
    }else{
        if(code==37){
            SB.previous()
        }else{
            if(code==39){
                SB.next()
            }else{
                if(code==32){
                    SB[(typeof slide_timer=="number"?"pause":"play")]()
                }
            }
        }
    }
};

Eu acho que você pode alterá-lo para o mais parecido com este:

var handleKey=function(e){
    switch(SL.keyCode(e)) {
        case 81:
        case 88:
        case 27:
            SB.close()
            SL.preventDefault(e);
            break;

        case 37:
            SB.previous()
            SL.preventDefault(e);
            break;

        case 39:
            SB.next()
            SL.preventDefault(e);
            break;

        case 32:
            SB[(typeof slide_timer=="number"?"pause":"play")]()
            SL.preventDefault(e);
            break;
    }
};

Isso deve impedir que as galerias de manipulador de eventos a partir de engolir todos os batimentos de teclas que não se preocupam.

Outras dicas

Este problema é causado por algum JavaScript que come eventos de teclado.Você pode pressionar a tecla escape, por exemplo, que está preso por um dos .js e faz com que a caixa de sombra para fechar.

Suas escolhas são para cortar através do arquivos e localizar o problema, ou não usar o flash.Boa sorte!

A solução é definir o enableKeys opção para false.No entanto, isso parece não funcionar em uma chamada open() para inline HTML.Ele faz o trabalho, no entanto, se você definir em seu init() chamada.

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