Imprimo el valor ingresado desde el teclado a la pantalla. pero los caracteres turcos se escriben en la pantalla de forma distorsionada. ¿Cómo puedo imprimir correctamente los caracteres turcos?
mis codigos javascript:
window.addEventListener('keyup',function(event){ var span = this.document.createElement('span'); span.innerText= String.fromCharCode(event.keyCode); span.style.color='white'; var harfDivleri = this.document.querySelectorAll('.harfDivleri'); var i = kelimeDiv.children.length; while (0 < i) { i--; if(harfDivleri[i].innerHTML == ""){ harfDivleri[i].appendChild(span); } } });salida de pantalla:
Quiero poder escribir tales caracteres: ÖÜĞİŞÇ
Sugeriría usar el evento de keypress de tecla, esto le dará el código de carácter real en lugar de la tecla física en la que se hizo clic, esto se explica con más detalle aquí
Los eventos keydown y keyup proporcionan un código que indica qué tecla se presiona, mientras que keypress indica qué carácter se ingresó. Por ejemplo, una "a" minúscula se informará como 65 al presionar y presionar la tecla, pero como 97 al presionar una tecla. Todos los eventos notifican una "A" mayúscula como 65.
Si usa el evento de pulsación de tecla, su código debería funcionar como se esperaba, vea la demostración simple a continuación, los caracteres turcos deberían representarse correctamente.
window.addEventListener('keypress', function(event){ document.getElementById('output').innerHTML += String.fromCharCode(event.keyCode); }) <h3>Type here to see text:</h3><br> <h3 id='output'></h3>