WindowsキーボードをUS-ENGLISHからTURKISH-Qに変更し続けることなく、結果のテキストを他のプログラムに直接カットアンドペーストできるように、テキストエリアにトルコ語の文字を受け入れさせようとしています。
私はそれをある程度まで機能させました。ただし、数値はテキスト領域に追加されます。「テキストエリアのクリア」ボタンを押すと、特別なトルコ語の文字のみが表示され、以前の入力はすべて消去されます。キーボード番号 1 ~ 5 は、特殊なトルコ語の文字を割り当てるために使用されています。e.peventdefault が機能しないのはなぜですか? クリア テキスト ボタンを押した後に特別な入力が表示されるのはなぜですか? それを正しくするための助けはありますか?これが私のコードです:
<!DOCTYPE html>
<html>
<head>
<title>Turkish Key input to textarea</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {margin:30px 50px;}
textarea {font-family:verdana, sans-serif;font-size:16px;}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script>
<pre>
<script type="text/javascript">
$(document).ready(function(){
var nochar="",cced="ç",sced="ş",inodot="ı";ouml="ö",uuml="ü"
$('#write').keyup(function (e) {
//Key No1
if (e.keyCode == 49) {
e.preventDefault();
$('#write').append(cced).show();
}
//Key No2
if (e.keyCode == 50) {
e.preventDefault();
$('#write').append(sced).show();
}
//Key No3
if (e.keyCode == 51) {
e.preventDefault();
$('#write').append(inodot).show();
}
//Key No4
if (e.keyCode == 52) {
e.preventDefault();
$('#write').append(ouml).show();
}
//Key No5
if (e.keyCode == 53) {
e.preventDefault();
$('#write').append(uuml).show();
}
});
});
</script>
</pre>
</head>
<body>
<h1>Input Turkish Characters - Copy and Paste</h1>
<p>Use keyboard for all other characters.</p>
<form>
<textarea id="write" rows="12" cols="50" style="border:solid navy;"></textarea><br><br>
<input type="reset" value="Clear Box"/>
</form>
</body>
</html>