如何仅当特定类激活时按ESC键触发页面刷新
解决方案:仅激活弹窗时ESC触发页面跳转
嘿,这很容易调整!核心思路就是在监听ESC键的同时,先判断目标弹窗是否处于激活状态(也就是是否带有指定的激活类)。我给你修改后的代码,你只需要替换成项目里实际的选择器和类名就行:
$(document).keyup(function(event) { // 替换成你弹窗的实际选择器,以及它激活时的类名 const popupElement = $('.submit-success-popup'); // 比如弹窗的类选择器 const isPopupActive = popupElement.hasClass('active'); // 弹窗激活时的类 // 仅当按下ESC键,且弹窗处于激活状态时执行跳转 if (event.which === 27 && isPopupActive) { window.location.href = "submit.html"; // 这里可以补充移除弹窗激活类的逻辑(如果需要) // popupElement.removeClass('active'); } });
关键说明:
- 把
$('.submit-success-popup')换成你项目中弹窗的实际选择器(比如用ID的话就是$('#success-popup')) active替换成表单提交后弹窗显示时添加的那个激活类名(比如你的项目里可能叫show或者open)- 这样调整后,只有当弹窗处于激活显示状态时,按下ESC键才会跳转到
submit.html,其他场景下按ESC不会有任何反应
内容的提问来源于stack exchange,提问作者Nick
相关产品推荐
相关产品推荐

