sábado, 27 de agosto de 2011

Desabilitando Ctr+J no firefox e Chorme

Após tentar usar um leitor de código de barra em um sistema on-line, tive que criar uma função em javascript para desabilitar a teclas de função CTRL+J que no firefox abre uma pagina de busca do google e no Chome abre a janela de downloads. Abaixo o codigo utilizado para desabilitar as teclas.

function travaTecla(e){
// Trava a tecla ctrl e J impossibilitando a abertura do painel de gerenciamento de download do Chrome e abertura da pagina de busca do google no firefox 5
if(e.keyCode==17 || e.keyCode==74 || e.keyCode==13){
e.keyCode=0;
e.returnValue=false;
return false;
}
}

Na caixa de texto onde se deseja fazer com que as teclas combinadas não tenha efeito, adicione o seguinte comando onkeydown="travaTecla(event)"

É isso.

Obs: Não testei no I.E somente no firefox 6 e Chorme 13.0.782.215 em ambiente linux (ubuntu 10.10)

Caso tenha alguma dúvida é só posta-la para que possamos ajudar.
Até a próxima.


4 comentários:

  1. Estou deixando este Comentário, para ajudar, quem tem este problema não vai alterar o código,
    No navegador firefox exite um Complemento(Shortcuts) que posso configurar os atalhos do Firefox, no meu caso resolvi, alterando a tecla de atalho Ctrl + J para outra, agora quando faço a consulta
    não abre a tela de download.

    ResponderExcluir
  2. Isso não funciona Firefox e IE do Windows. Só com o Chrome que funciona.

    ResponderExcluir
  3. Codigo que estou usando...
    Infelismente, só funciona no Google Chrome. :(

    Será que alguem pode ajudar a fazer funcionar no IE e Firefox?????



    document.write(" ")
    function Verificar(e)
    {

    var ctrl=window.event.ctrlKey;
    var tecla=window.event.keyCode;

    //if (ctrl && tecla==67) {alert("CTRL+C"); event.keyCode=0; event.returnValue=false;}

    //if (ctrl && tecla==86) {alert("CTRL+V"); event.keyCode=0; event.returnValue=false;}

    if (ctrl && tecla==74) {; event.keyCode=0; event.returnValue=false;} //CTRL+J

    if (tecla==13) {alert("Clique no botão ADICIONAR."); event.keyCode=0; event.returnValue=false;} //ENTER



    }
    //-->



    ResponderExcluir
    Respostas
    1. Olá, ao invés de vc utilizar window.event.ctrlKey use e.keyCode no mesmo formato que demonstro acima no post, assim sei que funciona no Firefox e no Chrome, só não testei no IE. Não esqueça de passar event na chamada da função como parâmetro.

      Excluir