入力フィールドでキープレス「K」を「Z」に置き換えようとしていました。 を正常に実行できました。 しかし、 "K"が "Z"に変更されていることをユーザーに見せてくれるわずかな遅延があります。Javascript入力時にKeyPressを置き換えます。
は、これは私のコードです:
function prinner (event)
{
document.getElementById("txx").innerHTML= event.key; //Displays key pressed on screen by changing text element.
if(event.keyCode == 32){
// User has pressed space
document.getElementById("txx").innerHTML= "Space";
}
if (event.key=="k") // Trying to replace this with z.
{
var curval = $("#namaye").val(); //namaye is the ID of the input field.
var nval = curval.slice(0,(curval.length-1))+"z";
$("#namaye").val(nval);
}
}
$("#namaye").keyup(prinner);
誰が遅滞なくこれを達成するためのより良い方法を知っていますか?
デフォルトの入力は常に禁止されています。これは、文字が入力に送信されていないことを意味します。 OPの私の理解を与え、あなたはkのデフォルトを防ぐだけです。それで、 'k'は決して入力に終わらないので、スライス機能でそれを取り除く必要はありません。 zを追加するだけです。 –
@ConorMancone自分のコードスニペットを実行しましたか?あなたは入力に 'k'をタイプして何が起こるかを見ましたか? –
はい、「z」に変わりますが、他の文字は使用できません。あなたは常にデフォルトを防ぐので、実際に入力ボックスに入力することはできません。手紙zだけが実際に出現するでしょう:私はそれがオペラを念頭に置いているとは信じていません。 –