-1
주요 문제는 라틴 키보드를 사용해도 조지 왕조 문자를 입력하고 싶다는 것입니다. 내 코드는 다음과 같이 작동합니다. keydown에서 눌려진 키의 문자를 가져온 다음 해당 문자를 찾은 다음 필드의 값에 char을 추가합니다. 코드가 제대로 작동하지만 입력 가장자리에 오면 문자열이 움직이지 않아 업데이트 된 값을 볼 수 없습니다. 나는 keyup에 대한 입력에 초점을 맞추려고 노력했지만 도움이되지 않는다. 문제를 해결하는 방법에 대한 아이디어가 있습니까? 도움에 미리 감사드립니다. http://jsfiddle.net/4dczfknx/입력 값 변경
문제는 크롬에 : 여기
var aaa = {};
aaa["a"] = "0x10d0";
aaa["b"] = "0x10d1";
aaa["g"] = "0x10d2";
aaa["d"] = "0x10d3";
aaa["e"] = "0x10d4";
aaa["v"] = "0x10d5";
aaa["z"] = "0x10d6";
aaa["T"] = "0x10d7"; // t
aaa["i"] = "0x10d8";
aaa["k"] = "0x10d9";
aaa["l"] = "0x10da";
aaa["m"] = "0x10db";
aaa["n"] = "0x10dc";
aaa["o"] = "0x10dd";
aaa["p"] = "0x10de";
aaa["J"] = "0x10df"; // zh
aaa["r"] = "0x10e0";
aaa["s"] = "0x10e1";
aaa["t"] = "0x10e2"; // t
aaa["u"] = "0x10e3";
aaa["f"] = "0x10e4";
aaa["q"] = "0x10e5";
aaa["R"] = "0x10e6"; // gh/g
aaa["y"] = "0x10e7";
aaa["S"] = "0x10e8"; // sh
aaa["C"] = "0x10e9"; // ch
aaa["c"] = "0x10ea"; // ts
aaa["Z"] = "0x10eb"; // dz
aaa["w"] = "0x10ec"; // ts
aaa["W"] = "0x10ed"; // ch/tch
aaa["x"] = "0x10ee"; // kh
aaa["j"] = "0x10ef";
aaa["h"] = "0x10f0";
var aab = {};
for (var key in aaa) {
aab[aaa[key]]=key;
}
window.onload = function() {
var tbox_lemma = document.getElementById("tbox_lemma");
tbox_lemma.onkeypress = function(e) {
e = e || window.event;
var keycode = e.charCode || e.keyCode;
var c = String.fromCharCode(keycode);
if(c in aaa) {
var txtToAdd = String.fromCharCode(aaa[String.fromCharCode(keycode)]);
var caretPos1 = tbox_lemma.selectionStart;
var caretPos2 = tbox_lemma.selectionEnd;
var val = tbox_lemma.value;
tbox_lemma.value = val.substring(0, caretPos1) + txtToAdd + val.substring(caretPos2);
tbox_lemma.selectionStart = caretPos1 + 1;
tbox_lemma.selectionEnd = tbox_lemma.selectionStart;
return false;
}
};
};
는 그것의 바이올린입니다. 파이어 폭스에서 잘 작동합니다. 당신이 jQuery를 사용하여 질문을 태그 때문에
! 도와 줘서 고마워. :> – gogachinchaladze
지금 문제는 Firefox에서 작동하지 않는다는 것입니다. ( – gogachinchaladze
아니요 인터넷 탐색기에서 – gogachinchaladze