如何检测按键按下的指定序列?实现网页作弊码式功能
实现按顺序触发的网页作弊码功能
你的现有代码只统计四个方向键的按下次数,不管顺序是否正确都会触发效果。要实现按指定序列触发的功能,需要跟踪用户的按键顺序,而非单纯计数。
下面是修改后的代码,以「右→上→左→下」序列为例:
const targetElement = document.getElementById("ind"); // 定义需要触发的目标按键序列 const cheatCode = ['ArrowRight', 'ArrowUp', 'ArrowLeft', 'ArrowDown']; // 存储用户当前输入的按键序列 let currentInput = []; document.addEventListener('keydown', function(event) { // 将当前按键加入序列 currentInput.push(event.key); // 只保留和目标序列长度相同的最后几个按键(避免序列过长) currentInput = currentInput.slice(-cheatCode.length); // 检查当前输入序列是否和目标序列完全匹配 if (JSON.stringify(currentInput) === JSON.stringify(cheatCode)) { targetElement.style.backgroundColor = 'aqua'; targetElement.innerHTML = "<h3>SUCCESS</h3>"; // 可选:触发后重置序列,防止重复触发 currentInput = []; } });
关键说明:
cheatCode:可直接修改为你需要的任意按键序列currentInput:实时记录用户最近的按键,仅保留与目标序列长度一致的部分,避免无效数据堆积- 每次按键后对比当前序列与目标序列,完全匹配时执行元素修改操作
- 触发后重置序列是可选操作,若希望用户重复触发,可删除重置代码
内容的提问来源于stack exchange,提问作者Musab Abdul Hameed Shah
相关产品推荐
相关产品推荐

