如何修改代码实现按回车键3次或n次后触发window.location跳转
解决方案
要实现按下指定次数回车键后才跳转的功能,你需要添加一个计数器跟踪回车按下的次数,达到设定值时再执行跳转。以下是修改后的代码,支持自定义触发次数:
// 配置需要按下回车键的次数,可自行修改 const requiredEnterPresses = 3; // 初始化回车计数器 let enterPressCount = 0; function handleKeyPress(event) { // 兼容不同浏览器的事件对象 const e = event || window.event; // 判断是否按下回车键(同时兼容keyCode和key属性) if (e.keyCode === 13 || e.key === 'Enter') { enterPressCount++; // 检查是否达到设定次数,触发跳转 if (enterPressCount === requiredEnterPresses) { window.location = './index.html'; // 可选:跳转后重置计数器,允许再次触发跳转逻辑 enterPressCount = 0; } } else { // 按下其他键时重置计数器,确保只有连续回车才会触发跳转 enterPressCount = 0; } } // 绑定键盘事件(现代浏览器推荐使用addEventListener) document.addEventListener('keypress', handleKeyPress); // 若需兼容旧浏览器,可替换为: // document.onkeypress = handleKeyPress;
关键说明
- 可配置次数:修改
requiredEnterPresses的值即可调整触发跳转所需的回车次数(比如改成5) - 连续计数逻辑:按下非回车键时计数器会重置,只有连续按下回车键才会累计计数;如果不需要连续计数,删除
else块内的重置代码即可 - 事件兼容性:同时判断
keyCode和key属性,适配不同浏览器的键盘事件标准 - 现代事件绑定:使用
addEventListener比直接赋值onkeypress更灵活,不会覆盖其他已绑定的键盘事件
内容的提问来源于stack exchange,提问作者Chris Bolon
相关产品推荐
相关产品推荐

