如何在JavaScript中单击空格暂停视频而不关闭页面
我使用JavaScript构建自定义视频播放器,当我单击空格停止视频时,页面会关闭,我需要防止出现这种情况 我的JavaScript代码如何在JavaScript中单击空格暂停视频而不关闭页面,javascript,reactjs,ajax,Javascript,Reactjs,Ajax,我使用JavaScript构建自定义视频播放器,当我单击空格停止视频时,页面会关闭,我需要防止出现这种情况 我的JavaScript代码 window.onkeydown = vidCtrl; function vidCtrl(e){ const vid = document.querySelector('video') const key = e.code; if (key === 'ArrowLeft') { vid.cur
window.onkeydown = vidCtrl;
function vidCtrl(e){
const vid = document.querySelector('video')
const key = e.code;
if (key === 'ArrowLeft') {
vid.currentTime -= 5;
if (vid.currentTime < 0) {
vid.pause();
vid.currentTime = 0;
}
} else if (key === 'ArrowRight') {
vid.currentTime += 5;
if (vid.currentTime > vid.duration) {
vid.pause();
vid.currentTime = 0;
}
} else if (key === 'Space') {
if (vid.paused || vid.ended) {
vid.play();
} else {
vid.pause();
}
}
window.onkeydown=vidCtrl;
函数vidCtrl(e){
const vid=document.querySelector(“视频”)
const key=e.code;
如果(键=='ArrowLeft'){
vid.currentTime-=5;
如果(参考当前时间<0){
参阅暂停();
vid.currentTime=0;
}
}否则如果(键==='ArrowRight'){
vid.currentTime+=5;
if(视频当前时间>视频持续时间){
参阅暂停();
vid.currentTime=0;
}
}else if(键=='Space'){
如果(参见暂停| |参见结束){
视频播放();
}否则{
参阅暂停();
}
}
当用户按下空格键以防止出现不需要的滚动时,添加e.preventDefault()
else if (key === 'Space') {
e.preventDefault();
if (vid.paused || vid.ended) {
vid.play();
} else {
vid.pause();
}
}
尝试调用
e.preventDefault()
,这将阻止关键事件执行其正常行为,即滚动页面或键入字母
但是,您必须小心。将事件侦听器添加到整个窗口可能会导致许多副作用。如果有人试图做一些简单的事情,例如在您的网页输入中键入一个句子,该怎么办?仅使用e.preventDefault()
在窗口级别,如果用户无法在该页面上进行其他输入或键盘交互