Я пишу Linux "консольный эмулятор" как пасхальное яйцо для моего сайта.Я обрабатываю команды, данные с помощью оператора switch, следующим образом:
function processCommand(command) {
var args = command.split(" ");
console.log(args[0]);
var res;
switch(args[0]) {
case "ls":
res = ls($(".line.new .directory", args[1], args[2]).text());
break;
default:
res = args[0] + ": command not found";
}
$(".line.new .response").html(res);
}
Это вызывается следующим JQuery:
$(document).keydown(function(e) {
...
else if(e.which == 13) {
$(".line.new").append('<div class="response"></div>');
processCommand($(".line.new .input").text()); // <-------------
$(".line").removeClass("new").addClass("old");
$(".main").append(...);
}
});
Когда я даю ввод "ls" в первый раз, все ведет себя как ожидалось, однако при повторном запуске коммутатор переходит в режим по умолчанию.Значение, возвращаемое console.log(args[0])
в строке 3, остается прежним.
Я что-то не так делаю?
Редактировать :
Fiddle: https://jsfiddle.net/L90burfq/