javascript - 防止 Internet Explorer 11 中的过度滚动

标签 javascript css internet-explorer windows-7 internet-explorer-11

我有一个网站有<div>在它上面可以垂直滚动。这很好用。我也隐藏了滚动条,这也很好用。 CSS本质上是

.scrollable {
  overflow-y: scroll;
  -ms-overflow-style: none;
}

不过,我目前在 Internet Explorer 11 和 Windows 7 触摸屏上遇到了问题。当用户点击滚动条的顶部或底部时,窗口会反弹(即出现过度滚动)。虽然这对大多数用户来说只是一种烦恼,但这是在信息亭全屏运行,因此 overscoll 允许桌面窥视(不仅仅是浏览器背景)。

我一直未能找到解决方案。 touch-action (前缀和不),例如

html, body, .scrollable {
  -ms-touch-action: none;
  touch-action: none;
}

似乎没有做任何事情,也没有

document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
document.addEventListener('MSPointerMove', function (e) { e.preventDefault(); }, false);

This jsBin显示问题。

那么,在 IE11/Windows 7 中防止过度滚动的正确方法是什么。

最佳答案

跳出框框思考(看看我在那里做了什么)会给父元素 - bodysection 甚至另一个 div 一个背景颜色缓解桌面显透的主要问题?

否则看看

-ms-scroll-chaining: none;

属性来自 http://msdn.microsoft.com/en-us/library/ie/hh772034(v=vs.85).aspx看起来它可能会解决您的问题 - 虽然我无法自己测试它。

关于javascript - 防止 Internet Explorer 11 中的过度滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23502941/

相关文章:

asp.net - 使用 jQuery 在 IE 的 Javascript 中以编程方式触发事件

javascript - 单击 "scroll"箭头时的转换

javascript - 是否可以仅使用环视来匹配前后不重复的字符?

javascript - 合并并匹配与 AngularJS 匹配的对象

JavaScript 无法设置变量值

html - IE8 PNG渐变透明度问题

jquery - 谷歌地图 Iframe 嵌入在 bootstrap/foundation 上不起作用

css - WordPress 中的导航栏菜单按钮文本样式

html - 模糊 css 背景图像封面中的背景部分

CSS 规则根本不适用于 Internet Explorer。我应该在哪里寻找更多信息?