He configurado un teclado en mi sitio web donde puede hacer clic en una tecla para escribir una letra. Cuando accedo al sitio en mi teléfono y trato de escribir una palabra, se pierden las teclas porque no permite que los botones se presionen tan rápido.
¿Hay alguna manera de permitir esto? un ejemplo sería en wordle: https://www.powerlanguage.co.uk/wordle/ donde los botones se pueden presionar en rápida sucesión
mi sitio web usa reaccionar si eso ayuda
En el caso de que no pueda "mover" el cursor de texto (como sucede en Wordle), podría considerar usar esta combinación de detectores de eventos, intervalos y estructuras de matriz tipo cola:
HTML:
<div class="output"></div> ... <button type="button" class="letter"> Q </button> <button type="button" class="letter"> W </button> <button type="button" class="letter"> E </button> ... <button type="button" class="letter"> ← </button>JS:
let word = [ ]; document.querySelectorAll(".letter").forEach( el => el.addEventListener("click", ev => { word.push(el.innerText.trim()); }) ); setInterval(() => { if(word.length) { let char = word.shift(); if(char == "←") document.querySelector(".output").innerText = document.querySelector(".output").innerText.slice(0, -1); else document.querySelector(".output").innerText += char; } }, 50);Ok, me di cuenta del problema. Estaba usando divs con una propiedad "onClick". Cuando los cambié a botones, el problema desapareció.