JS ev.preventdefault()切换到另一个窗口后停止工作
在以下功能中,我尝试通过键阻止滚动,并且效果很好,但是如果我切换到另一个窗口并切换回浏览器窗口,则EV.PreventDefault()函数将不再起作用。
- KEY_NEXT()和KEY_LAST()函数仍然触发,
- 我正在使用Windows 10和Chrome
function start(){
window.addEventListener("keyup",(ev)=>{
if(ev.code === "ArrowUp"){
ev.preventDefault();
key_last();
}
else if(ev.code === "ArrowDown"){
ev.preventDefault();
key_next();
}
else if(ev.code === "ArrowLeft"){
ev.preventDefault();
key_last();
}
else if(ev.code === "ArrowRight"){
ev.preventDefault();
key_next();
}
else if(ev.code === "Space"){
ev.preventDefault();
}
});
}
In the following function I try to block the scrolling by keys and it works fine, but if I switch to another window and switch back to the browser window, the ev.preventDefault() function doesn't work anymore.
- The key_next() and key_last() functions are still triggered
- I'm using Windows 10 and chrome
function start(){
window.addEventListener("keyup",(ev)=>{
if(ev.code === "ArrowUp"){
ev.preventDefault();
key_last();
}
else if(ev.code === "ArrowDown"){
ev.preventDefault();
key_next();
}
else if(ev.code === "ArrowLeft"){
ev.preventDefault();
key_last();
}
else if(ev.code === "ArrowRight"){
ev.preventDefault();
key_next();
}
else if(ev.code === "Space"){
ev.preventDefault();
}
});
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我将其添加到我的start()函数中,现在即使我切换Windows也可以工作。
I added this into my start() function, now it works even if I switch windows.