【发布时间】:2021-12-27 18:14:16
【问题描述】:
我有一个使用 node、express 和 ejs 作为视图引擎构建的 Web 应用程序。在特定页面上,我有一个事件监听器,它将在按键时转到主页,如下所示:
<script>
document.addEventListener("keypress", function onPress(event) {
window.location = ('/home');
});
</script>
问题是我在该页面上还有一个按钮,按下该按钮时会显示一个引导模式元素,其中包含文本输入,因此当模式打开并且用户尝试输入某些输入时,会触发事件侦听器。有没有办法在模式关闭之前忽略这个事件监听器?
我尝试为 DOM(不包含模式)提供一个 tabindex 以使其可选择并将事件侦听器放在上面,但是用户必须在触发事件侦听器之前单击页面,这并不理想
【问题讨论】:
-
您可以使用布尔值来跟踪模型状态(如果打开则为 true,如果关闭则为 false),然后将
window.location = ('/home');放入 if 检查modalOpenState是真还是假. -
@SiddharthBhansali 我尝试通过创建一个使用 jquery 切换模式的 onclick 函数来实现这一点,谢谢
-
@SiddharthBhansali 请您发布答案,这对其他人会有所帮助,谢谢
标签: javascript html node.js ejs