每次按下 Enter 键时,我都会尝试使整数变量递增。然后使用此变量从数组中输出一个值。
$(document).keyup(function(e) {
if (e.keyCode == 13) {
console.log(++currSteps);
$('#output').text(outNum[currSteps])
if(outNum[currSteps] % 2 == 0){
$('body').css("background", "#4b84e5")
}
else if(outNum[currSteps] == 1){
$('body').css("background", "#9dd622")
}
else{
$('body').css("background", "#d16323")
}
}
});
当我实际按 Enter 时,就会出现问题。在第一次按下时,它可以正常工作,并增加变量currSteps
并显示数组中的下一个值。但是,当我再次按 Enter 时,它会恢复为 的原始值currStep
,只要按住 Enter 键,它就会显示原始值。
现在,是的,这个事件是为了keyup
,因此事情会奇怪地工作是有道理的keydown
。但是...如果我打开开发人员工具并在控制台中单击,然后返回到我原来的窗口,keyup
代码就可以完美运行。为什么这只有在开发人员工具打开后才有效?
我在 jQuery 1.11.1 和 1.10.2 上试过这个。
编辑:currSteps
和outNum
声明。
$('#in').click(function(){
$('#output').empty();
$('#steps').empty();
var steps = 0
currSteps = 0
var inNum = parseInt($('#input').val());
var col = '#ffffff'
outNum = []
outNum.push(inNum)
...