Onkeyup: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
 
(Uma revisão intermediária por um outro usuário não está sendo mostrada)
Linha 87: Linha 87:


'''Exemplo'''
'''Exemplo'''
''O exemplo seguinte mostra o uso doo evento onkeypress duraante umaa digitaçãao num caampo de formuláario:''
''O exemplo seguinte mostra o usooooooooooo doo evento onkeypress duraante umaaaaaaaaaaaaaaa digitaçãao num caampooooooooooooo de foooooooormuláario:''


<pre>
<pre>
Linha 135: Linha 135:
==Exemplo de OnkeyUp e OnkeyPress==
==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:




Exemplo de OnkeyUp e OnkeyPress