• 0
Sign in to follow this  
.'. Metraton .'.

Teclas - Desativamento Sem Alerta!

Question

Vai aqui um exemplo completo de anulação de qualquer tecla do teclado sem

o nosso querido alerta! ;)

Neste caso bloqueia o Crtl + N para abrir uma nova janela. Simples, porém bastante funcional!

<html>

<head>

<body onKeyDown="java script:return trava();">

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<title>Nova pagina 1</title>

</head>

<body>

<script language="JavaScript">

function trava()

{

var tecla=window.event.keyCode;

if (tecla==78) {event.keyCode=0; event.returnValue=false;}

}

//-->

</script>

</body>

</html>

Na cor azul, selecione o número da tecla que deseja anular!

Abraços à todos,

Share this post


Link to post
Share on other sites

Recommended Posts

  • 0

é só você colocar outro IF com as especificações pra tecla SHIFT... ou a tecla q você quiser.........

outra coisa, se esse código q você postou é pra tecla CTRL+N, ele está errado pois ele define apenas uma tecla.... e CRTL+N são duas teclas...

então você tem q fazer assim.......

tecla='n' || tecla='CTRL' com os respectivos códigos ASCII... sacou???

falou

Share this post


Link to post
Share on other sites
  • 0

Falou cara! Nesse caso eu apenas bloqueei a tc 'N', que funcionou, mas eu gostaria de bloquear o 'Shift' tb!

Porque eu coloquei um outro IF especificando outra tecla, mas não

funcionou, pra dizer a verdade o script nem funcionou, não bloqueou

nenhumas das teclas, mas tb não deu erro!

Será que você poderia postar um exemplo?

Obrigado!

Share this post


Link to post
Share on other sites
  • 0

repare que no código que você colocou tem 2 vezes a tag <BODY>......................

seguinte.... o código é esse aqui.......... no lugar do 78 coloca o valor da tecla q você quer travar.... se quiser travar mais teclas copia a linha inteira do IF e muda o código da tecla...

para associar duas teclas faz assim..................

(tecla=XX || tecla=XX) sacou???????

<script language="JavaScript">

function trava()

{

var tecla=window.event.keyCode;

if (tecla==78) {event.keyCode=0; event.returnValue=false;}

}

//-->

</script>

<body onKeyDown="java script:return trava();">

Share this post


Link to post
Share on other sites
  • 0

Desculpa ae me intrometer.. mas o shift tem um controle separado como o Control..

olha ai:

var shift=window.event.shiftKey;

Share this post


Link to post
Share on other sites
  • 0

quem sou eu pra questionar jissa???hehehehe

tá ai o cód...

<script language="JavaScript">

function trava()

{

var shift=window.event.shiftKey;

var tecla=window.event.keyCode;

if (tecla==78) {event.keyCode=0; event.returnValue=false;}//trava a tecla 78

if (shift) {event.keyCode=0; event.returnValue=false;}//trava a tecla SHIFT

}

//-->

</script>

<body onKeyDown="java script:return trava();">

Share this post


Link to post
Share on other sites
  • 0

Agora vai funcionar

Só Uma curiosidade.. pra que bloquear o shift? é para evitar Caracteres em maiuscula/minuscula?

Share this post


Link to post
Share on other sites
  • 0

É, mas não funcionou como eu havia pensado! Ele desabilita escrever em maiúsculo, mas não desabilitou esta outra função (shift+clique=nova janela).

Talvez se eu colocar o alerta somente nesta tecla, . . . acho que vai dar certo!

. . . . . . . . . . . . . . . . . não deu, a tecla tem aquele bug, aparece o

alerta mas se a pessoa pressiona outra tecla o comando fica à disposição!

Share this post


Link to post
Share on other sites
  • 0

Entendi já o que está acontecendo... o código não dá aviso de bloqueio de teclado se você for testar os códigos numa caixa de texto ela não vai funcionar posi o da caixa de texto é separada do código da página se você quiser bloquear uma caixa de texto você terá de bloquear A CAIXA DE TEXTO e não a página. Caso você tenha testado o código na ´página obviamente você não vai perceber nada pois ela não avisa do bloqueio... simplesmente bloqueia o teclado! Eu prefiro um código na qual ele mostre a caixa de dialogo... pois tanto avisa de copia ilegal que você irá mostrar que o site está protegido pelos direito autorais... tenta aí na caixa de diálogo e volta aqui para falar!!!! Qualquer coisa eu passo o código completo com a Caixa de diálogo para vocês.. falow!!! ;)

Share this post


Link to post
Share on other sites
  • 0

não sei se entendi o que quer.. mas tenta colocar isto.. ele bloqueia o menu caso clique com o botao direito

<body oncontextmenu="return false;">

Share this post


Link to post
Share on other sites
  • 0

Valeu Jissa! Mas não é o caso, pra falar a verdade eu já uso este comando.

Você já tentou clicar num link com o shift pressionado?

Ela vai abrir o link numa nova janela, funciona como um Ctrl+N, mas abrindo

o link numa nova janela!

Como o site é em full, o cara com este comando, ele pode abrir os links do site

numa nova janela.

Abraços,

Share this post


Link to post
Share on other sites
  • 0

Olha só... tenta ai isto.. kara isto deu um trabalhinho aqui pros neuronios.. este deveria até ser cobrado.. :)

Coloca do <script... até o </script> dentro do <Head> da pagina que quer bloquear

<html>
<head>
<title>Teste de Click sem o Shift</title>
<script language="JavaScript">
<!--
function mouseDown(e) {
 var shiftPressed=0;
 if (parseInt(navigator.appVersion)>3) {
  if (navigator.appName=="Netscape")
       shiftPressed=(e.modifiers-0>3);
  else shiftPressed=event.shiftKey;
  if (shiftPressed) {
   alert ('Shift-click esta desabilitado.')
   return false;
  }
 }
 return true;
}
if (parseInt(navigator.appVersion)>3) {
 document.onmousedown = mouseDown;
 if (navigator.appName=="Netscape") 
  document.captureEvents(Event.MOUSEDOWN);
}
//-->
</script>


</head>
<body>
<p><a href="paginalink.htm">Teste de Click sem o Shift</a></p>
</body>
</html>

Share this post


Link to post
Share on other sites
  • 0

hi cara não seja igual a eu não.. seja melhor.. to na maior pindura.. nem sei por mais quanto tempo vou ter acesso a internet...

seja voce mesmo... continue a aprender e se aprimorar...

Share this post


Link to post
Share on other sites
  • 0

Jissa... você é o IDOLO da galera...!!!!!!....hehehehe

foda é q o pessu de fora num sabe reconhecer um talento!!!

Share this post


Link to post
Share on other sites
  • 0

Æ Jissa, só não entendi porque tenho q definir o browser, ele funciona tb no IE, porque colocar o Netscape????

E no embalo, quero saber como faço para fechar uma janela mãe. Vou explicar:

meu site é em flash e abre em fullscreen, mas para abrir preciso carregar uma index.htm, onde ela abre um pop up em fullscreen com o site. Quero saber como faço para fechar a index.htm, sem dar o aviso de confirmação para fechar a janela???

valeu....

Share this post


Link to post
Share on other sites
  • 0

Note que tem duas atribuicoes para o shiftPessed.. uma é para o NetScape e outra para o IE

shiftPressed=(e.modifiers-0>3);

shiftPressed=event.shiftKey;

Para fechar a janela.. faz assim.. java script:Janela2(); self.close()

Na Funcao Janela2(); voce abre a outra pagina.. e em seguiga fecha a atual.. da uma testada qualquer coisa Posta ai.

Share this post


Link to post
Share on other sites
  • 0
Desculpa ae me intrometer.. mas o shift tem um controle separado como o Control..

olha ai:

var shift=window.event.shiftKey;

Só uma dúvida! <_<

Pra desativar o Ctrl seria este comando: var shift=window.event.ctrlKey.

Ficaria assim?

<script language="JavaScript">

function trava()

{

var ctrl=window.event.ctrltKey;

var tecla=window.event.keyCode;

if (tecla==78) {event.keyCode=0; event.returnValue=false;}//trava a tecla 78

if (ctrl) {event.keyCode=0; event.returnValue=false;}//trava a tecla CTRL

}

//-->

</script>

<body onKeyDown="java script:return trava();">

Abraços,

Share this post


Link to post
Share on other sites
  • 0
Desculpa ae me intrometer.. mas o shift tem um controle separado como o Control..

olha ai:

var shift=window.event.shiftKey;

Só uma dúvida! <_<

Pra desativar o Ctrl seria este comando: var shift=window.event.ctrlKey.

Ficaria assim?

<script language="JavaScript">

function trava()

{

var ctrl=window.event.ctrltKey;

var tecla=window.event.keyCode;

if (tecla==78) {event.keyCode=0; event.returnValue=false;}//trava a tecla 78

if (ctrl) {event.keyCode=0; event.returnValue=false;}//trava a tecla CTRL

}

//-->

</script>

<body onKeyDown="java script:return trava();">

Abraços,

tipo....... o que eu coloquei em vermelho ali tah errado... num é shift e sim ctrl... mas de resto ta certinho....

Share this post


Link to post
Share on other sites
  • 0

<script language="JavaScript">

function trava()

{

var ctrl=window.event.ctrltKey;

var tecla=window.event.keyCode;

if (tecla==78) {event.keyCode=0; event.returnValue=false;}//trava a tecla 78

if (ctrl) {event.keyCode=0; event.returnValue=false;}//trava a tecla CTRL

}

//-->

</script>

<body onKeyDown="java script:return trava();">

Esse código tá certo Diraol?

Porque ele não tá travando o Ctrl!

Abraços,

Share this post


Link to post
Share on other sites
  • 0
<script language="JavaScript">

var ctrl=window.event.ctrltKey;

var tecla=window.event.keyCode;

function trava()

{

if (tecla==78) {event.keyCode=0; event.returnValue=false;}//trava a tecla 78

if (ctrl) {event.keyCode=0; event.returnValue=false;}//trava a tecla CTRL

}

//-->

</script>

<body onKeyDown="java script:return trava();">

tenta declarar a variável fora da função... num sei se faz diferença.....hehehe

Share this post


Link to post
Share on other sites
  • 0

Claro que sim.. mas so se você se cadastrar no SUperScript (heheh).

Afinal.. que voce quer bloquar.. o CTRL+N ou eles separados.. se for junto.. já tentou colocar assim:

if (ctrl && tecla==78)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this