私は上記のスクリプト、CheckFiddle以下を持っています
<script type="text/javascript">
function check(e){
var text = e.keyCode ? e.keyCode : e.charCode;
switch(text){
case 81:
text = 'መ';
break;
case 87:
text = 'ሙ';
break;
case 69:
text = 'ሚ';
break;
case 82:
text = 'ማ';
break;
case 84:
text = 'ሜ';
break;
case 89:
text = 'ም';
break;
case 85:
text = 'ሞ';
break;
}
if(text == 8){
var str = document.getElementById("out").innerHTML;
var foo = str.substring(0, str.length -1);
document.getElementById("out").innerHTML = foo;
}else {
document.getElementById("out").innerHTML += text;
}
}
</script>
<input type='text' onkeyup='check(event);' id='in' />
<div id='out' ></div>
これは、qwerty
入力時に一部の文字のみを別の Unicode に変更します。つまり、各文字は別の文字に変換されますが、問題は、2 つのキーストロークを一緒にまたは別々に組み合わせてのみ作成できる文字がいくつかあることです。すなわち
m
1、次にすばやく押すと、 o
「x」が生成されます。2、またはそれを押すshif + p
と、「y」が生成されます
ここでの問題は、コードが 1 ストロークにつき 1 文字しか認識しないことです。使ってみた
if(text == 77+79){ // this is for m + o
text 'x';
}
または
、上記の引数を内部に出力するshift
+の場合でも、機能していません。p
z