Ver Mensaje Individual
  #12 (permalink)  
Antiguo 24/05/2012, 09:16
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: Restringir cantidad de carácteres de tecla presionada de forma sostenida

@furoya, menos mal que aclaraste lo del "juego", porque si no, ya estaba pensando que los fantasmas del "Abuelito Pirri" me estaba rondando.... te acordás?

Bueno, dejo mi versión final
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2.    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5. <title>Teclas Repetidas</title>
  6. <script type="text/javascript">
  7. //<![CDATA[
  8. var i= 0;
  9. var z = 0;
  10. function capturarTecla(e) {
  11. e = (e) ? e : ((event) ? event : null);
  12. var version = (e.target) ? e.target : ((e.srcElement)?e.srcElement : null );
  13. var teclaNum = parseInt(e.keyCode);
  14. //console.log('teclaNum: ', teclaNum ,' i: ', i);
  15. if(i >3){
  16. document.getElementById('foco').focus(); // variante
  17. i = z;
  18. setTimeout("document.getElementById('contenido').focus()",1500);
  19. }
  20.  
  21. if(teclaNum != 8){
  22.  
  23. i++;
  24. }else{
  25. i = z;
  26.  
  27. }
  28. }
  29.  
  30. function resetear(){
  31. i = z;
  32. }
  33. //]]>
  34. </head>
  35. <div>
  36. <textarea rows="8" cols="30" id="contenido" onkeydown="capturarTecla(event);" onkeyup="resetear();" onfocus="this.value = this.value;"></textarea>
  37.  <input type="text" id="foco" style="width: 1px; height: 1px; border: none; color: transparent; background-color: transparent;" /></div>
  38. </body>
  39. </html>

El único objeto de capturar la tecla es poder usar el backspace, que si no ni falta hace.

Y no empecemos con los peros:
Y si el usuario pone un dedo sobre la M y otro sobre la N y empieza a gatillar indiscriminada y alternadamente?
Y si nos copia dos letras y empieza a darle al Shift+Insert

, porque si no no juego más a nada

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.