Dúvida javascript

8 respostas
dahenz

Tenho um código javascript que desabilita teclas como F5 e backspace....

<script language="JavaScript"><!--
document.onkeydown = keyCatcher;

function keyCatcher() 
{
   var e = event.srcElement.tagName;

   if (event.keyCode == 8 && e != "INPUT" && e != "TEXTAREA") 
   {
      event.cancelBubble = true;
      event.returnValue = false;
   }
}
//--></script>

Agora como chamo essa função??? Onde chamo ela???

Obrigado

8 Respostas

Jair_Rillo_Junior

Favor colocar o título do tópico mais informativo em relação a sua dúvida. Assim fica mais fácil para o pessoal te ajudar, assim como futuras pessoas pesquisarem o conteúdo.

Obrigado

T

pow cara, depende de pra que vc quer usar,
se vc quiser bloquear essas teclas num campo de texto é so chamar o método no onkeyUp ou onKeyDown
mas se vc quiser bloquear na pagina inteira ai eu ja nao sei

espero ter ajudado

dahenz

Fiz funcionar em IE o bloqueio de teclas como: backspace e F5.... Mas estou apanhando com o FF....

Eis o código:

if(document.all){ //ie has to block in the key down
    document.onkeydown = desabilitaBotoesIe;
}else if (document.layers || document.getElementById){ //NS and mozilla have to block in the key press
    document.onkeypress = desabilitaBotoesFF;
}

function desabilitaBotoesIe(){

	if(window.event && window.event.keyCode == 116)
	{ // Capture and remap F5
	   window.event.keyCode = 505;
	}

	if(window.event && window.event.keyCode == 505)
	{ // New action for F5
	   alert('Função Desabilitada');
	   return false;
	// Must return false or the browser will refresh anyway
	}

	var e = event.srcElement.tagName;

	if (event.keyCode == 8 && e != "INPUT" && e != "TEXTAREA") {
	   event.cancelBubble = true;
	   event.returnValue = false;
	}
}

function desabilitaBotoesFF(){

	if (window.event && window.event.which == 116) {

		window.event.which = 505;  
	}

	if(window.event && window.event.which == 505)
	{
	   alert('Função Desabilitada');
	   return false;
	
	}
		
}
Guilherme_Gomes

Você está usando firebug pra ver qual erro está acontecendo?

dahenz

Não...

Fiz o seguinte código e também não deu certo:

function desabilitaBotoes(){	

	var code;
	if (window.event.keyCode) code=window.event.keyCode;
	else if (window.event.which) code=window.event.which;
	else if (window.event.charCode) code=window.event.charCode;
	
	if(window.event && code == 116)
	{ // Capture and remap F5
	   window.event.keyCode = 505;
	}

	if(window.event && window.event.keyCode == 505)
	{ // New action for F5
	   alert('Função Desabilitada');
	   return false;
	// Must return false or the browser will refresh anyway
	}

	var e = event.srcElement.tagName;

	if (code == 8 && e != "INPUT" && e != "TEXTAREA") {
	   event.cancelBubble = true;
	   event.returnValue = false;
	}
}
Guilherme_Gomes

Um código legal:
http://www.ryancooper.com/resources/keycode.asp

dahenz

Valew Guilherme… legal mesmo!!

phmjunior

bixo seguinte:
tive varios problemas com essa onda de fazer a parada funcionar no IE e da merda no FF ai depois de muito fuçar achei uma para legal.

no inicio do teu código html tira tudo q tiver faendo referência a xml ex:
caso seu código esteja assim:

&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;

o fire fox não pega as configurações javascript mas se tiver assim:

&lt;html&gt;
//Somente assim ele funciona

faz um teste ai e posta se deu certo.

abraço

Criado 23 de outubro de 2009
Ultima resposta 23 de out. de 2009
Respostas 8
Participantes 5