0

我目前正在为网站所有者设计一个功能,以跟踪他们网站上最常搜索/输入的内容。为此,我有一个基本功能,记录按下了哪些键,尽管我想将这些字母推入一个数组,这样更容易管理,但我遇到了一个问题,它只将最后一个键推入数组。我是编程新手,所以在我的代码上放轻松:P

这是带有故障动态数组的代码:

$(document).ready(function() {
   $(document).keyup(function(objEvent) {
        (objEvent) ? keyCode = objEvent.keyCode : keyCode = event.keyCode;
        varArray = [];
        varLetter = String.fromCharCode(keyCode);
        console.log(varLetter);
        varArray.push(varLetter);
        });
   });

提前致谢

-亚历克斯

4

2 回答 2

3

您正在重置阵列与此行上的每一次按键...

varArray = [];
于 2012-08-26T00:35:22.620 回答
0

在事件处理程序之外声明并初始化您的数组,以便它可以累积按键而不是每次都重置。您当前的代码在每次按键时将数组设置为空varArray = [];

您可以使用这样的东西,其中 varArray 被声明并初始化一次作为全局变量。我也改成varLetter了一个局部变量,因为它只在本地使用,不需要它是全局的:

var varArray = [];
$(document).ready(function() {
   $(document).keyup(function(objEvent) {
        (objEvent) ? keyCode = objEvent.keyCode : keyCode = event.keyCode;
        var varLetter = String.fromCharCode(keyCode);
        console.log(varLetter);
        varArray.push(varLetter);
    });
});
于 2012-08-26T00:55:40.573 回答