javascript - javascript从CharCode转换为土耳其字符
问题描述
我将从键盘输入的值打印到屏幕上。但是土耳其语字符以扭曲的方式写入屏幕。如何正确打印土耳其语字符?
我的 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);
}
}
});
屏幕输出:
我希望能够写出这样的字符:ÖÜĞİŞÇ
解决方案
我建议使用该keypress
事件,这将为您提供实际的字符代码,而不是单击的物理键,此处对此进行了更详细的说明
keydown 和 keyup 事件提供了指示按下哪个键的代码,而 keypress 指示输入了哪个字符。例如,小写的“a”将被 keydown 和 keyup 报告为 65,但被 keypress 报告为 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>
推荐阅读
- php - 获取特色图片替代文字 wordpress
- android - Ubuntu 中的 Android Studios (Intellij) 无法解析大部分 Android 类
- javascript - 通过来自另一个页面的 jquery ajax 响应检索到的数据上越来越少的文本切换
- python - 从亚马逊 ec2 的 s3 存储桶下载文件到 Windows 7 的本地驱动器
- angularjs - AngularJS 工厂返回值的变化未反映
- three.js - 放大相机使某些网格不可见
- java - 什么都不做的抽象方法实现
- android - AAPT:错误:找不到资源 android:attr/colorError
- android - 是否可以使用 xamarin 识别应用程序内的 wifi 网络
- chatbot - 当我使用 LogicAdpater 时如何运行聊天机器人