フォーム入力値を「」に設定します。スペースがクリアされません
-
29-09-2019 - |
質問
JavaScriptにコマンドラインエミュレータを実装しようとしています。私は欲しい Spacebar
として行動するための鍵 Enter
(送信してから、コマンドラインをクリアします)。
この投稿では、aを表します space
アンダースコアとして、そう _
意味 [space]
:
入った場合 banana_
そして、キープレスをキャッチした後、私は電話します input.value= ""
, 、それはクリアされます banana
, 、残りではありません space
.
両方をテストしました onkeydown
と onkeypress
, 、しかし、それは違いを生むようには見えません。実際、 onkeyup
トリックをしますか、以下の私の答えをご覧ください!
これは私のコードです。誰かが私が余分なスペースを削除するのを手伝ってくれませんか...
<html><head>
<script type="text/javascript">
document.onkeypress = keyCheck;
function keyCheck( e ) {
var keyID = (window.event) ? event.keyCode : ( e.keyCode ? e.keyCode : e.charCode );
switch(keyID) {
case 32: //spacebar
alert( "space pressed, clearing..." );
document.getElementById( "cli" ).value="";
break;
default:
//do something else
break;
}
}
</script>
</head>
<body>
<form name="frm" id="frm" onSubmit="go( this )">
<input name="cli" id="cli" type="text" name="cmd" size="122">
</body>
</html>
解決
使用する onkeyup
代わりは。
document.onkeyup = keyCheck;
これにより、イベントが発生します 後 キャラクターは要素の値に追加されています。
やってみよう: http://jsbin.com/esacu3
所属していません StackOverflow