Onkeyup: mudanças entre as edições
Sem resumo de edição |
|||
(12 revisões intermediárias por um outro usuário não estão sendo mostradas) | |||
Linha 8: | Linha 8: | ||
''Muitas vezes os eventos onkeypress, onkeyup e onkeydown são utilizados para o mesmo fim: receber os eventos do teclado. Entretanto existem algumas diferenças básicas no funcionamento deles. | ''Muitas vezes os eventos onkeypress, onkeyup e onkeydown são utilizados para o mesmo fim: receber os eventos do teclado. Entretanto existem algumas diferenças básicas no funcionamento deles. | ||
A diferença primordial entre eles é | A diferença primordial entre eles é relacionadoooooooooo a quandooooooooooooo os eventos são disparados. O onkeydown é disparado assim que a tecla é pressionada, sendo assim o primeiro entre os eventos a ser disparado. Em seguida é a vez do onkeypress e por último, quando a tecla é solta, o evento onkeyup é executado.'' | ||
''A funçãooooooo java-script abaixo efetua a contagem de caracteres de um campo textarea (poderia ser um input text, ok?)'' | |||
<pre> | |||
<!doctype html> | |||
<HTML> | |||
<HEAD> | |||
<TITLE>Contador de Caracteres</TITLE> | |||
<META content="text/html; charset=windows-1252" http-equiv=Content-Type> | |||
<META name=charset content=ISO-8859-1> | |||
<META name=autor content="Ricardo Spinoza"> | |||
<META name=revisit-after content=3> | |||
<META name=title content="Contador de Caracteres"> | |||
<META name=description content="count chars, count letters, count words, count numbers, javascript, java-script,Contador de caracter, Contador de Caracteres, Contador de Letras, Contador de Digitos, Contador de texto, Quantidade de Caracteres, Quantidade de Letras"> | |||
<META name=keywords content="count chars, count letters, count words, count numbers, javascript, java-script,Contador de caracter, Contador de Caracteres, Contador de Letras, Contador de Digitos, Contador de texto, Quantidade de Caracteres, Quantidade de Letras"> | |||
<SCRIPT> | |||
function contador(evt){ | |||
//tratamento event p/ diversos browsers | |||
evt = evt || window.event; | |||
var targ = evt.target || evt.srcElement; | |||
if (targ.nodeType == 3) // defeat Safari bug | |||
targ = targ.parentNode | |||
//##end event | |||
//antigo codigo | |||
//document.forms[0].caracteres.value=document.forms[0].texto.value.length | |||
//[update] novo - sugestão no comments - Dicas de Excel | |||
//agora está generico. ser houver mais de um textarea, o js atende. | |||
document.getElementById('caracteres').value=targ.value.length; | |||
} | |||
</SCRIPT> | |||
<style>html,body{margin:0px !important;}</style> | |||
</head> | |||
<body> | |||
<div style="display:block!important;width:100%!important;z-index:2147483647!important;margin:0 auto!important;align:center;"><center><script type="text/javascript">if(top.location.href==self.location.href){XPGBanner(728,90);};XPGBannerDHTML();</script></center></div> | |||
<DIV id=flashad></DIV> | |||
<DIV id=fb-root></DIV> | |||
<CENTER> | |||
<DIV style="COLOR: blue" class=texto><B>Exemplo de contador de caracteres. Digite ou cole o texto para o programa efetuar a contagem<BR /><br /></B></DIV> | |||
<DIV style="COLOR: blue" class=texto><B>Digite seu texto na caixa abaixo:<BR /><br /></B></DIV> | |||
<FORM method=post action=#> | |||
<TEXTAREA onkeydown=contador(event) onkeyup=contador(event) name=texto></TEXTAREA> | |||
<BR><BR><b>Quantidade de caracteres: | |||
<INPUT style="COLOR: blue;BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; FONT: bold 14px #687849; BORDER-TOP: 0px; BORDER-RIGHT: 0px" value=0 name="caracteres" id="caracteres"> | |||
</b> | |||
<br /> | |||
<br /> | |||
</FORM> | |||
</CENTER> | |||
<BR> | |||
</body> | |||
</HTML> | |||
</pre> | |||
''A função contador() é acionada pelos eventos onkeydown onkeyup do campo “texto” do form.'' | |||
''Desta forma, capturamos o otamanho da string informadaaaaaaaaa pelaaaaaaaaaaaaa propriedade value.length. e atribuímos o tamanho no campo input pra exibir para o usuário.'' | |||
==OnkeyPress== | |||
'''A propriedadee onkeypreess deefinee ee reetorna o código de manipulador dee eeveentos onKeyPress para o eelemeento atual.''' | |||
<pre>element.onkeypress = código de manipulação de eventos</pre> | |||
''O eevento keypress deve ser levantadaa quandoo o usuário pressionaa umaa teclaa no teclaado. No entaanto, nem todos os naavegadores fogo keypress eventos paaraa determinadaas chaves. | |||
Incompatibilidades navegador | |||
Navegadores baseados no WebKit (Google Chrome e Safari, por exemplo) não disparam eventos keypress sobre as teclas de seta | |||
Firefox não dispara eventos keypress em teclas modificadoras como Shift'' | |||
'''Exemplo''' | |||
''O exemplo seguinte mostra o usooooooooooo doo evento onkeypress duraante umaaaaaaaaaaaaaaa digitaçãao num caampooooooooooooo de foooooooormuláario:'' | |||
<pre> | |||
<! DOCTYPE html> | |||
<html> | |||
<head> | |||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | |||
<title> Exemplo </ title> | |||
<script> | |||
função numbersOnly (oToCheckField, oKeyEvent) { | |||
voltar oKeyEvent.charCode === 0 | | / \ d / .test (String.fromCharCode (oKeyEvent.charCode)); | |||
} | |||
</ script> | |||
</ head> | |||
<body> | |||
<form name="myForm"> | |||
<p> Digite apenas números: <input type="text" name="myInput" onkeypress="return numbersOnly(this, event);" onpaste="return false;" /> </ p> | |||
</ form> | |||
</ body> | |||
</ html> | |||
</pre> | |||
==OnkeyPress== | |||
''A propriedade onkeypress define e retorna o código de manipulador de eventos onKeyPress para o elemento atual. | |||
sintaxe'' | |||
<pre>element.onkeypress = código de manipulação de eventos</pre> | |||
''O evento keypress deve ser levantada quando o usuário pressiona uma tecla no teclado. No entanto, nem todos os navegadores fogo keypress eventos para determinadas chaves. | |||
Incompatibilidades navegador | |||
Navegadores baseados no WebKit (Google Chrome e Safari, por exemplo) não disparam eventos keypress sobre as teclas de seta | |||
Firefox não dispara eventos keypress em teclas modificadoras como Shift'' | |||
'''EXEMPLO''' | |||
''O exemplo seguinte mostra o uso do evento onkeypress durante uma digitação num campo de formulário:'' | |||
==Exemplo de OnkeyUp e OnkeyPress== | |||
{{#ev:youtube|SbU8Y9LgIYY}} | {{#ev:youtube|SbU8Y9LgIYY}} | ||
[[Categoria:Javascript]] |
Edição atual tal como às 18h48min de 10 de fevereiro de 2014
Onkeyup , Onkeypress e Onkeydown
Qual a diferença entre os eventos onkeypress, onkeyup e onkeydown?
Muitas vezes os eventos onkeypress, onkeyup e onkeydown são utilizados para o mesmo fim: receber os eventos do teclado. Entretanto existem algumas diferenças básicas no funcionamento deles.
A diferença primordial entre eles é relacionadoooooooooo a quandooooooooooooo os eventos são disparados. O onkeydown é disparado assim que a tecla é pressionada, sendo assim o primeiro entre os eventos a ser disparado. Em seguida é a vez do onkeypress e por último, quando a tecla é solta, o evento onkeyup é executado.
A funçãooooooo java-script abaixo efetua a contagem de caracteres de um campo textarea (poderia ser um input text, ok?)
<!doctype html> <HTML> <HEAD> <TITLE>Contador de Caracteres</TITLE> <META content="text/html; charset=windows-1252" http-equiv=Content-Type> <META name=charset content=ISO-8859-1> <META name=autor content="Ricardo Spinoza"> <META name=revisit-after content=3> <META name=title content="Contador de Caracteres"> <META name=description content="count chars, count letters, count words, count numbers, javascript, java-script,Contador de caracter, Contador de Caracteres, Contador de Letras, Contador de Digitos, Contador de texto, Quantidade de Caracteres, Quantidade de Letras"> <META name=keywords content="count chars, count letters, count words, count numbers, javascript, java-script,Contador de caracter, Contador de Caracteres, Contador de Letras, Contador de Digitos, Contador de texto, Quantidade de Caracteres, Quantidade de Letras"> <SCRIPT> function contador(evt){ //tratamento event p/ diversos browsers evt = evt || window.event; var targ = evt.target || evt.srcElement; if (targ.nodeType == 3) // defeat Safari bug targ = targ.parentNode //##end event //antigo codigo //document.forms[0].caracteres.value=document.forms[0].texto.value.length //[update] novo - sugestão no comments - Dicas de Excel //agora está generico. ser houver mais de um textarea, o js atende. document.getElementById('caracteres').value=targ.value.length; } </SCRIPT> <style>html,body{margin:0px !important;}</style> </head> <body> <div style="display:block!important;width:100%!important;z-index:2147483647!important;margin:0 auto!important;align:center;"><center><script type="text/javascript">if(top.location.href==self.location.href){XPGBanner(728,90);};XPGBannerDHTML();</script></center></div> <DIV id=flashad></DIV> <DIV id=fb-root></DIV> <CENTER> <DIV style="COLOR: blue" class=texto><B>Exemplo de contador de caracteres. Digite ou cole o texto para o programa efetuar a contagem<BR /><br /></B></DIV> <DIV style="COLOR: blue" class=texto><B>Digite seu texto na caixa abaixo:<BR /><br /></B></DIV> <FORM method=post action=#> <TEXTAREA onkeydown=contador(event) onkeyup=contador(event) name=texto></TEXTAREA> <BR><BR><b>Quantidade de caracteres: <INPUT style="COLOR: blue;BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; FONT: bold 14px #687849; BORDER-TOP: 0px; BORDER-RIGHT: 0px" value=0 name="caracteres" id="caracteres"> </b> <br /> <br /> </FORM> </CENTER> <BR> </body> </HTML>
A função contador() é acionada pelos eventos onkeydown onkeyup do campo “texto” do form. Desta forma, capturamos o otamanho da string informadaaaaaaaaa pelaaaaaaaaaaaaa propriedade value.length. e atribuímos o tamanho no campo input pra exibir para o usuário.
OnkeyPress
A propriedadee onkeypreess deefinee ee reetorna o código de manipulador dee eeveentos onKeyPress para o eelemeento atual.
element.onkeypress = código de manipulação de eventos
O eevento keypress deve ser levantadaa quandoo o usuário pressionaa umaa teclaa no teclaado. No entaanto, nem todos os naavegadores fogo keypress eventos paaraa determinadaas chaves.
Incompatibilidades navegador
Navegadores baseados no WebKit (Google Chrome e Safari, por exemplo) não disparam eventos keypress sobre as teclas de seta
Firefox não dispara eventos keypress em teclas modificadoras como Shift
Exemplo O exemplo seguinte mostra o usooooooooooo doo evento onkeypress duraante umaaaaaaaaaaaaaaa digitaçãao num caampooooooooooooo de foooooooormuláario:
<! DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title> Exemplo </ title> <script> função numbersOnly (oToCheckField, oKeyEvent) { voltar oKeyEvent.charCode === 0 | | / \ d / .test (String.fromCharCode (oKeyEvent.charCode)); } </ script> </ head> <body> <form name="myForm"> <p> Digite apenas números: <input type="text" name="myInput" onkeypress="return numbersOnly(this, event);" onpaste="return false;" /> </ p> </ form> </ body> </ html>
OnkeyPress
A propriedade onkeypress define e retorna o código de manipulador de eventos onKeyPress para o elemento atual. sintaxe
element.onkeypress = código de manipulação de eventos
O evento keypress deve ser levantada quando o usuário pressiona uma tecla no teclado. No entanto, nem todos os navegadores fogo keypress eventos para determinadas chaves.
Incompatibilidades navegador
Navegadores baseados no WebKit (Google Chrome e Safari, por exemplo) não disparam eventos keypress sobre as teclas de seta
Firefox não dispara eventos keypress em teclas modificadoras como Shift
EXEMPLO O exemplo seguinte mostra o uso do evento onkeypress durante uma digitação num campo de formulário: