javascript - 如何防止在单击 ESC 按钮时打开反应视频模式?
问题描述
我正在使用带有gatsby的 react-modal-video创建一个视频页面。每当页面加载并单击 ESC 按钮时,视频模式就会自动打开。但是视频模式只能在单击按钮时打开。我想在单击 ESC 按钮时停止打开视频模式的这种转换。我不知道如何阻止这种转变。如果有人知道,请告诉我。
我的代码
const [modal_open, setModalToggle] = useState(false)
const modalToggle = () => setModalToggle(!modal_open)
<ModalVideo channel={props.channel} isOpen={modal_open} videoId={props.video_id} onClose={modalToggle} />
<button onClick={modalToggle}>Show Video</button>
解决方案
我跟踪react-modal-video 源代码。该软件包不支持通过 ESC 的 keydown 事件关闭 Modal 的道具。也许您可以尝试在包默认事件上添加一个 keydown 事件侦听器。但我不确定它是否可以工作。
document.addEventListener('keydown', e => {
if (e.keyCode === 27) {
e.preventDefault();
});
推荐阅读
- c - 无法理解“readdir.c”在 Linux 内核中的工作原理
- node.js - 如何使用 nodeJS 在 EUC(CP51932)中进行 URL 编码
- flutter - 向 Scaffold Appbar 添加具有多个页面的点击计数器
- php - 如何使用 WP_REDIRECT 并继续父执行
- sql - 查找表中值的最大连续出现次数
- angular - 如何在Angular中动态创建子元素并从父组件传递属性
- python - 将剪辑与moviepy合并在一起
- twilio - Twilio taskRouter js sdk给出CORS错误
- r - 如何计算R中数据框中某个单词的每次出现?
- javascript - 现代相当于 for... 在循环中?