Html 防止firefox用户能够滚动
我注意到,当我使用“overflow-x:hidden”隐藏水平滚动条并防止手动滚动时,我仍然可以在Mozilla Firefox中使用箭头键滚动(这可能也发生在鼠标滚轮上,但我没有鼠标滚轮来测试) 在Google chrome中,隐藏滚动条确实会阻止滚动,这是我想要的行为,因为我想完全用javascript控制水平滚动 如何防止用户控制所有浏览器的滚动 下面是一个JSFIDLE示例:Html 防止firefox用户能够滚动,html,css,Html,Css,我注意到,当我使用“overflow-x:hidden”隐藏水平滚动条并防止手动滚动时,我仍然可以在Mozilla Firefox中使用箭头键滚动(这可能也发生在鼠标滚轮上,但我没有鼠标滚轮来测试) 在Google chrome中,隐藏滚动条确实会阻止滚动,这是我想要的行为,因为我想完全用javascript控制水平滚动 如何防止用户控制所有浏览器的滚动 下面是一个JSFIDLE示例: 我不希望用户能够在小提琴中左右滚动。溢出:隐藏只隐藏滚动条。向下/向上翻页、箭头键和鼠标滚轮仍能工作。请参阅
我不希望用户能够在小提琴中左右滚动。溢出:隐藏只隐藏滚动条。向下/向上翻页、箭头键和鼠标滚轮仍能工作。请参阅有关如何禁用堆栈溢出的问题。您可以通过使用Javascript覆盖箭头键的默认功能来解决此问题 我添加了一个简单的JQuery函数,应该在站点/页面加载周期的“末尾”调用它(例如,在脚本标记中,如)
$(“html”).keydown(函数(事件){
开关(event.keyCode){
案例32://空间
案例33://pgup
案例34://pgdn
案例35://结束
案例36://家庭
案例37://左
案例38://以上
案例39://对
案例40://向下
返回false;
}
});
请将一个JSFIDLE放在一起演示问题。可能重复您为什么要这样做?我想这样做,以便可以使用javascript控制滚动。这有助于解决问题,但它不能回答为什么在Mozilla中会发生这种情况,而在Chrome中却不会。我希望对系统和解决方案有更深入的了解。隐藏滚动条也不会阻止在平板电脑和其他触摸屏设备上滚动。这不会阻止其他滚动方法,如鼠标滚轮和其他特定于驱动程序的实现。此外,覆盖普通键盘命令的功能只是一种糟糕的体验。如果用户被禁用并且只能使用键盘导航怎么办?那真的太糟糕了,但我不明白为什么其他方法不应该“阻止”禁用的用户?
body{
overflow-x: hidden;
}
<script type="text/javascript">
$("html").keydown(function(event) {
switch(event.keyCode) {
case 32://space
case 33://pgup
case 34://pgdn
case 35://end
case 36://home
case 37://left
case 38://up
case 39://right
case 40://down
return false;
}
});
</script>