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