function - 如何添加事件监听器以关闭菜单切换
问题描述
我的导航栏(标题)中有一个切换按钮,切换时会打开全屏菜单。当按钮被切换(激活)时,按钮的图标从汉堡条变为十字,当按下十字时,一切都恢复正常。一切都很完美。
我想知道是否可以添加一个侦听器事件,以便能够通过按“Esc”键作为替代来关闭切换。该按钮也应该保持有用。
我正在使用 Elementor 插件,所以我的“按钮”实际上是 elementor 的 HTML 小部件。
这是小部件内的代码:
<button class="hamburger hamburger--spin" type="button">
<a><div class="hamburger-box">
<div class="hamburger-inner"></div>
</div>
</a>
</button>
<script>
document.addEventListener('DOMContentLoaded', function() {
jQuery(function($){
$('.hamburger').click(function(){
$('.hamburger--spin').toggleClass('is-active');
});
});
});
</script>
“hamburger--spin”的东西是为了触发一个动画,在切换时将汉堡菜单栏变成一个十字。我的猜测是我可以稍微修改一下脚本以添加“Escape”键功能。
我尝试过(并阅读过)
我没有任何javascript知识,但在调查后我将脚本调整为以下代码,我认为它可能会奏效(它没有)
<script>
document.addEventListener('DOMContentLoaded', function() {
jQuery(function($){
$('.hamburger').click(function(){
$('.hamburger--spin').toggleClass('is-active');
if(e.key === "Escape") {
$('.hamburger--spin').toggleClass('is-active');
}
});
});
});
</script>
可能会派上用场的其他信息(即使您可能已经知道这一点)
据我所知,“Escape”的按键写为“e”或“27”。
也许相关信息
该按钮不会打开弹出窗口或普通下拉菜单,它会打开一个全屏部分,该部分有点隐藏,仅在切换处于活动状态时才会显示。
解决方案
推荐阅读
- linux - 日志充斥着 sh: sleep: command not found while no sleep command in JenkinsScript
- twitter-bootstrap - 复杂的引导网格,所有项目包装
- node.js - 即使在对话流控制台中收到结果,与谷歌上的操作集成时也不会收到结果
- python - Python中有没有办法告诉特定函数如何操作我的类对象?
- jmeter - “调用 bsh 方法时出错:eval” 2 个变量的 Beanshell 断言?
- rust - 如何在 buildroot 中使用夜间 rustc 编译器
- python - 转换后如何更新数据框的列?
- c# - 赋值错误 - 值不在预期范围内
- sql - 从联接表返回最大日期和空日期
- javascript - 致命错误:CALL_AND_RETRY_LAST 分配失败 - JavaScript 堆内存不足 - LIGHTHOUSE