我将从键盘输入的值打印到屏幕上。但是土耳其文字是以扭曲的方式写到屏幕上的。如何正确打印土耳其字符?
我的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);
}
}
});屏幕输出:

我希望能够写出这样的文字:ĞİŞ
发布于 2021-10-01 13:03:55
我建议使用keypress事件,这将给出实际的字符代码,而不是单击的物理键,这将更详细地解释这里
keydown和keyup事件提供了指示按下哪个键的代码,而keypress则表示输入了哪个字符。例如,小写的"a“将按下键和按键报告为65,而按下键则报告为97。大写"A“按所有事件报告为65。
如果您使用keypress事件,您的代码应该按照预期工作,请参见下面的简单演示,土耳其字符应该被正确地呈现。
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>
https://stackoverflow.com/questions/69405406
复制相似问题