En la siguiente función, trato de bloquear el desplazamiento con las teclas y funciona bien, pero si cambio a otra ventana y vuelvo a la ventana del navegador, la función ev.preventDefault() ya no funciona.
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(); } }); }Agregué esto en mi función de inicio (), ahora funciona incluso si cambio de ventana.
window.addEventListener("keydown",(ev)=>{ if(ev.code === "ArrowUp" || ev.code === "ArrowDown" || ev.code === "ArrowLeft" || ev.code === "ArrowRight" || ev.code === "Space"){ ev.preventDefault(); } }); window.addEventListener("keypress",(ev)=>{ if(ev.code === "ArrowUp" || ev.code === "ArrowDown" || ev.code === "ArrowLeft" || ev.code === "ArrowRight" || ev.code === "Space"){ ev.preventDefault(); } });