繁体   English   中英

Javascript Keydown 不触发

[英]Javascript Keydown Not Triggering

我需要帮助来触发向上箭头的按键。 我真的不明白这是什么问题,很可能是我的格式混乱,但 keydown 只是没有触发。

 <script> window.addEventListener('keyup', (event) => { if (event.key == 'ArrowUp') { close(); window.open("https://bsd.instructure.com/?login_success=1"); } }); </script>

查看window.close()window.open() API。

如果浏览器阻止,JavaScript 将无法打开窗口。 我试过你的代码,它说:
“Firefox 阻止此站点打开弹出窗口。[选项]”。

您只能打开用户生成的窗口(例如按钮/链接点击)。
您的活动运行良好,但浏览器阻止了弹出窗口。

window.addEventListener('keyup', (event) => {
  if (event.key == 'ArrowUp') {
    window.close(); // Blocked for certain standards
    window.open("https://bsd.instructure.com/?login_success=1"); // Blocked in the user's preferences
  }
});

我还建议您使用document事件而不是window

document.addEventListener('keyup', (event) => {
  if (event.key == 'ArrowUp') {
    // Action here
  }
});

您可以使用窗口location属性导航到页面。

 document.addEventListener('keyup', (event) => { if (event.key == 'ArrowUp') { window.close(); window.location.replace("https://bsd.instructure.com/?login_success=1"); } });

只是为了完整性。 因为@Mike 'Pomax' Kamermans 已经正确回答了这个问题。 将文档对象绑定到事件而不是窗口对象。

 document.addEventListener('keyup', (event) => { if (event.key == 'ArrowUp') { console.log('Arrow UP'); close(); } });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM