设置溢出:隐藏到body/html隐藏滚动条,但不会禁用Firefox中的滚动
Setting overflow:hidden to body/html hides scrollbars but does not disable scrolling in Firefox
我可以在Chrome/Safari中禁用滚动,但在body标签上隐藏溢出,但在Firefox上,这只隐藏滚动条,我仍然可以使用箭头键滚动。为什么会这样?
此外,我正在使用jQuery制作动画,以便向下滑动到页面上的特定区域。对于FF,我必须对html标签进行动画处理,但对于Chrome/Safari,它只是我需要动画处理的主体。还没有在IE中进行测试,但我预计这将是一个令人憎恶的问题:D。
那么,为什么我可以在Chrome上禁用机身滚动,而不能在FF上禁用呢?
注意:哦,我已经尝试过在FF的html标签上设置隐藏的溢出,但这只会让它跳到顶部(隐藏在主体上的溢出对两种浏览器都很好)。
您可以将主体的位置设置为"固定"
我能够在Firefox中通过在html
元素上绑定keydown
事件的jQuery侦听器并返回false
来实现这一点。
// Disable Scrolling by keys
$("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;
}
});
我尝试了jQuery的event.preventDefault()
和event.stopImmediatePropogation()
,但没有效果。
如果它滚动的唯一方式是使用箭头键,那么您可能只需在按键时返回false即可防止这种情况发生。
如果使用keydown功能,则使用键滚动文本区域不起作用。。。所以我已经完成了以下代码。修复了我的firefox卷轴问题。
$(window).scroll(function () {
window.scrollTo(0,0);
});
相关文章:
- 在滚动时,在隐藏滚动条和隐藏溢出的同时触发事件
- 如何隐藏滚动条,但希望它继续工作
- ajax显示隐藏滚动到最重要的问题
- 如何在模式窗口弹出窗口中隐藏滚动条
- 使用溢出时隐藏滚动条:滚动;但保持滚动能力
- AngularJS:使用$animate隐藏滚动中的元素
- 使用隐藏滚动条滚动
- JQuery Mobile转换后隐藏滚动条
- 隐藏滚动条 iFrame 子网站
- jquery 隐藏滚动中的元素
- 隐藏滚动条会导致正文向上滚动
- C# Web 浏览器禁用和隐藏滚动条
- 隐藏滚动条,而不影响页面宽度或页面重新呈现抖动
- 从iframe中隐藏滚动条,并将其替换为页面上的滚动条
- 隐藏滚动条以保持其工作状态(具体情况)
- Angularjs:如果行出现,则隐藏滚动到行按钮
- Javascript;CSS:隐藏滚动条,保持滚动事件工作
- 阻止HTML滚动在元素内部滚动时,不隐藏滚动条
- 隐藏滚动条,如果没有必要-Ace编辑器
- 如何隐藏滚动条,直到它们需要,然后删除,如果不需要