Javascript 防止左/右按钮滚动页面

Javascript 防止左/右按钮滚动页面,javascript,iframe,Javascript,Iframe,我有一个包含滑块的iframe。滑块允许使用左/右键箭头在图片之间导航,但如果页面上有水平滚动,则页面也会使用左/右键箭头滚动。是否有任何方法可以防止页面滚动,但不能防止iframe中幻灯片之间的导航。 代码如下所示: if (e.keyCode === 39) { next(); } if (e.keyCode === 37) { prev(); } 谢谢。某种 $(document).on("keypress", function () { if (e.keyCode ==

我有一个包含滑块的iframe。滑块允许使用左/右键箭头在图片之间导航,但如果页面上有水平滚动,则页面也会使用左/右键箭头滚动。是否有任何方法可以防止页面滚动,但不能防止iframe中幻灯片之间的导航。 代码如下所示:

if (e.keyCode === 39) {
  next();
}
if (e.keyCode === 37) {
  prev();
}
谢谢。

某种

$(document).on("keypress", function () {
    if (e.keyCode === 39 || e.keyCode === 37) {
        return
    }
});

您应该应用
e.preventDefault()以终止事件的默认行为。

这将阻止在页面上滚动和在iframe中导航,但我只要求在页面上滚动,而不要求在iframe中导航,因此您根本不理解它。这将禁用浏览器的默认行为。为了使帧滚动,需要将next()和prev()添加到激发e.preventDefault()的同一代码中;我理解的很好,做的和你写的完全一样,但是页面仍然是滚动的。问题是我使用的keyup()与e.preventDefault()不兼容。我更喜欢keydown。对不起,我没提,好像不起作用。我应该分别针对iframe和document吗?您需要外部文档上的$(document).on(“keypress”)函数,以及您在iframe中指定的另一个keypress函数。此外,iframe应该聚焦,以便按键可以在那里工作