Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过按向上箭头获取最新输入(Javascript)_Javascript_Html_Jquery_Memory_Input - Fatal编程技术网

如何通过按向上箭头获取最新输入(Javascript)

如何通过按向上箭头获取最新输入(Javascript),javascript,html,jquery,memory,input,Javascript,Html,Jquery,Memory,Input,如何获取按顺序输入的最新输入。例如: 我声明了一个包含20个元素的数组,当我输入一些东西时,我删除了数组的第一个元素,并在最后添加了我刚才输入的内容 因此,当我按下向上箭头按钮时,数组的最后一个元素将显示为新的输入。如果我再按一次向上箭头,我希望我的输入变为第二个最后一个元素,依此类推 它在我的JSFIDLE链接中不起作用。它从数组中输出另一个元素 var值; 变量输入数量=19; var latestInputs=新数组(20); 最新的。填充(“最新”); 函数clickMe(){ sin

如何获取按顺序输入的最新输入。例如: 我声明了一个包含20个元素的数组,当我输入一些东西时,我删除了数组的第一个元素,并在最后添加了我刚才输入的内容

因此,当我按下向上箭头按钮时,数组的最后一个元素将显示为新的输入。如果我再按一次向上箭头,我希望我的输入变为第二个最后一个元素,依此类推

它在我的JSFIDLE链接中不起作用。它从数组中输出另一个元素

var值;
变量输入数量=19;
var latestInputs=新数组(20);
最新的。填充(“最新”);
函数clickMe(){
singleValues=$(“#输入”).val();
var c=latestInputs.shift();
latestInputs.push(单值);
$(“#输出”).append(单值);
$(“#输入”).prop('值','');
}
$(文档).on('keypress',函数(e){
$('#input').bind('keydown',函数(e){
如果(e.which==38){
$(“#输入”).prop('value',latestinput[theInputsNumber]);
输入编号--;
}
});
如果(e.which==13){
输入数量=19;
单击我();
}
});

快速思考琐事
发送

您没有想到必须确定(逻辑测试)计数器的值(
输入数)才能在堆栈的顶部(和底部)重置

我重命名了输入编号计数器,并提供了向上键和向下键功能。我也没有将数组大小限制为20,因为这不会产生任何影响(数组大小不受大小限制,因为它在其他语言中是如此)

编辑(基于评论):我将所有内容都放在HTML中,这样您就可以将这些内容保存到HTML文件中并使用浏览器打开。在没有服务器的情况下,它可以正常工作


快速思考琐事
发送
var计数器=0;
var latestInputs=[];
函数clickMe(){
让输入=$(“#输入”).val();
推送(输入);
$(“#输入”).prop('值','');
}
$('#input').bind('keydown',函数(e){
如果(e.which==38){
$(“#输入”).prop('value',previous());
}否则如果(e.which==40){
$(“#输入”).prop('value',next());
}否则如果(e.which==13){
单击我();
}
});
函数previous(){
计数器=(计数器===0)?latestinput.length-1:--计数器;
返回[计数器];
}
函数next(){
计数器=(计数器===latestinput.length-1)?0:+计数器;
返回[计数器];
}

您没有想到必须确定(逻辑测试)计数器的值(
输入数)才能在堆栈的顶部(和底部)重置

我重命名了输入编号计数器,并提供了向上键和向下键功能。我也没有将数组大小限制为20,因为这不会产生任何影响(数组大小不受大小限制,因为它在其他语言中是如此)

编辑(基于评论):我将所有内容都放在HTML中,这样您就可以将这些内容保存到HTML文件中并使用浏览器打开。在没有服务器的情况下,它可以正常工作


快速思考琐事
发送
var计数器=0;
var latestInputs=[];
函数clickMe(){
让输入=$(“#输入”).val();
推送(输入);
$(“#输入”).prop('值','');
}
$('#input').bind('keydown',函数(e){
如果(e.which==38){
$(“#输入”).prop('value',previous());
}否则如果(e.which==40){
$(“#输入”).prop('value',next());
}否则如果(e.which==13){
单击我();
}
});
函数previous(){
计数器=(计数器===0)?latestinput.length-1:--计数器;
返回[计数器];
}
函数next(){
计数器=(计数器===latestinput.length-1)?0:+计数器;
返回[计数器];
}

您的向上箭头功能似乎被触发多次(3)每次按下该键时,我都将其移出“按键”绑定,并保持其自身状态,当我运行代码时,问题不再存在

var值;
变量输入数量=19;
var latestInputs=新数组(20)。填充(“最新”);
函数clickMe(){
singleValues=$(“#输入”).val();
shift();
latestInputs.push(单值);
输入数量=19;
$(“#输出”).append(单值);
$(“#输入”).prop(“值”,“输入”);
}
$(文档).on(“按键”,功能(e){
如果(e.which==13){
单击我();
}
});
$(“#输入”).bind(“向下键”,函数(e){
var x=e.which | e.keyCode;
如果(x==38){
$(“#input”).prop(“value”,latestinput[theInputsNumber--]);
如果(输入数量==-1){
输入数量=19;
}
}
});

快速思考琐事
发送

您的向上箭头功能似乎被触发多次(3)每次按下该键时,我都将其移出“按键”绑定,并保持其自身状态,当我运行代码时,问题不再存在

var值;
变量输入数量=19;
var latestInputs=新数组(20)。填充(“最新”);
函数clickMe(){
singleValues=$(“#输入”).val();
shift();
latestInputs.push(单值);
输入数量=19;
$(“#输出”).append(单值);
$(“#输入”).prop(“值”,“输入”);
}
$(文档).on(“按键”,功能(e){
如果(e.which==13){
单击我();
}
});
$(“#输入”).bind(“向下键”,函数(e){
var x=e.which | e.keyCode;
如果(x==38){
$(“#input”).prop(“value”,latestinput[theInputsNumber--]);
如果(输入数量==-1){
输入数量=19;
}
}
});

快速思考琐事
发送

我想我必须把页面放到服务器上,t