我目前正在为网站所有者设计一项功能,以跟踪他们网站上最常搜索/输入的内容。要做到这一点,我有一个基本的功能,记录按键被按下虽然我想将这些字母推入一个数组,所以它更容易管理,但我遇到一个问题,它只推送输入到数组中的最后一个键。我是编程新手,所以我的代码很简单: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);
});
});
提前致谢
-Alex
答案 0 :(得分:3)
您正在按此行按键重置数组...
varArray = [];
答案 1 :(得分: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);
});
});