我正在构建一个包含主题和项目的菜单。每个主题都可以通过单击展开和折叠。我的任务是让使用向上和向下箭头键在菜单主题和项目中移动成为可能。我已经这样做了,但问题是当页面大于窗口时,按箭头键时页面正在滚动。我试过使用:
document.body.style.overflow = "hidden";
停止页面滚动。因此,例如,当我单击“主题 2”时,我可以继续使用箭头键转到下一个主题/项目。之后,如果我单击屏幕上的其他任何位置,我将溢出设置回自动,页面可以再次滚动。
这适用于 IE,但不适用于 FF。在 FF 中,滚动条被移除,鼠标滚轮不滚动页面,但箭头键仍然可以。所以我的问题是如何解决这个问题,或者更好的是,当焦点位于任何菜单元素上时如何不滚动页面?因此我不会使用溢出属性。