2013-03-01 63 views
2

我有一个包含滑块的iframe。滑块允许用左/右箭头键在图片之间导航,但如果页面上有水平滚动,则页面也会通过左/右箭头滚动。有没有什么办法来防止页面滚动,但不是在iframe中的幻灯片之间导航。 的代码看起来是这样的:防止滚动页面的左/右按钮

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

感谢。

回答

1

你应该以终止事件的默认行为适用e.preventDefault();

+0

这将防止页面滚动和iframe中的导航,但我只需要在页面上,但不是iframe – user1853892 2013-03-01 09:22:48

+0

,所以你根本不理解它。它所做的是禁用浏览器的默认行为。为了使框架滚动,你需要将next()和prev()添加到你触发e.preventDefault()的同一代码中。 – GottZ 2013-03-01 09:28:23

+0

我的理解很好,做的和你写的完全一样,但页面仍然滚动。 – user1853892 2013-03-01 09:42:58

1

某种

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

似乎没有工作。我应该分别针对iframe和文档吗? – user1853892 2013-03-01 09:23:35

+0

您需要在外部文档上使用$(document).on(“keypress”)函数,以及您在iframe中指定的另一个按键功能。此外iframe应该专注,所以按键可以在那里工作 – Sergio 2013-03-01 09:27:33