由于项目原因,发现网上大部份都在拷贝直接让 body 的 touchmove 事件
document.ontouchmove = function(event){ event.preventDefault(); }
通过 event.preventDefault() 使其失效的方法,但是这个解决方案仅适合不需要滑动操作的项目
又有说让 body 和 html 的css position 属性设置为 fixed 的方法,但这个方法又会破坏页面布局。
通过一番尝试,最终发现正确的解决方法,不会影响滑动操作,也不破坏页面布局,就是单纯地禁用掉 IOS 的页面回弹。
html, body{
/* 禁用回弹效果 */
overscroll-behavior: none;
/* 防止部分浏览器默认拖拽行为 */
-webkit-user-drag: none;user-select: none;
/* 禁用回弹效果 */
overscroll-behavior: none;
/* 防止部分浏览器默认拖拽行为 */
-webkit-user-drag: none;
/* 防止文本选择 */
-webkit-touch-callout: none;
/* 禁止长按链接弹出菜单 */
-webkit-user-select: none;
/* webkit浏览器 */
-khtml-user-select: none;
}