ターミナルコマンドプロンプトを作成しています(ユーザーは入力ボックスに書き込んでEnterキーを押すと、バックエンドからコマンドを受け取ることができます)。
モデルから入力ボックスのテンプレートにデフォルト値を渡しています。このデフォルト値は、バックエンドからフェッチされ、変更されるたびに (異なるユーザー名や "name $>" の形式になっている) 応答ですが、ユーザーが戻ってそれより前に書き込むことができないように、 $ の前にロックしたいのですが、それが私が試したことです:
var textValue = this.model.get("name") + " $> ";
var textString = String(textValue);
var textStringLength = textString.length;
$("#textInput").on("change keyup keypress keydown", function(evt) {
if($("#textInput").val().length < textStringLength) {
$("#textInput").val(textValue);
}
});
でもまだ編集できます!驚くべきことに、バックスペースでしか機能しません (つまり、バックスペースで削除することはできません) が、矢印キーを使用したり、マウス カーソルをその間に置いたりすると、まだ編集できます! 何か案が?
それは私の入力ボックスです:<input type="text" id="textInput" name="" style="background: #222; autofocus>
何か考えはありますか? 別の解決策としてスパンを使用しますか?