美文网首页
iOS UIWebview 中双击文本触发页面自动滚动导致弹窗错

iOS UIWebview 中双击文本触发页面自动滚动导致弹窗错

作者: vivaxy | 来源:发表于2017-01-31 12:50 被阅读226次

问题描述

iOS webview 中会有双击居中功能,自动将不在屏幕中心的文本拉到屏幕中心。但是这个时候弹出的元素会错位。

我们使用 position: fixed; 对弹出元素进行定位,并且给予屏幕大小一样对宽高。

1.png

上图是正常情况。

然后我们滚动到某个位置,再次弹窗也不会有问题。

此时双击下面的某个元素,然后再点击按钮出弹窗。这是我们看到的背景色已经错位了。

2.png

点我在 APP webview 中试试有没有这个 bug

贴上这部分的代码

var show = document.querySelector('.js-show');
show.addEventListener('click', function() {
    var modal = document.createElement('div');
    modal.classList.add('modal');
    document.body.appendChild(modal);
    modal.addEventListener('click', function() {
        document.body.removeChild(modal);
    });
});

.modal {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.5);
}

解决方案

在弹窗前先对浏览器进行一次滚动。

在 js 中添加下面的代码

window.scrollTo(window.scrollX, window.scrollY);

相关文章

  • iOS UIWebview 中双击文本触发页面自动滚动导致弹窗错

    问题描述 iOS webview 中会有双击居中功能,自动将不在屏幕中心的文本拉到屏幕中心。但是这个时候弹出的元素...

  • 阻止 iOS 双击页面上/下滑动

    参考文章:禁止IOS双击上滑当在UIWebView上双击时防止网页滚动 背景 在 iOS 系统下,双击网页会触发整...

  • H5适配bug总结

    iOS兼容bug 当iOS页面滚动时导致文本框光标偏移以及概率性的页面空白。原因:设置滚动惯性-webkit-ov...

  • 2021-07-09 Vue 解决移动端滑动穿透问题

    当页面有弹窗时,并且这个弹窗有滚动事件时,这时候会遇到bug,最底部的内容区域会跟着滚动,导致弹窗滚动不生效,以下...

  • 小程序弹窗阻止滑动的两种方法

    弹出 fixed 弹窗后,在弹窗上滑动会导致下层的页面一起跟着滚动。 场景1:弹窗内无滚动内容 可以在弹窗最外层元...

  • h5移动端相关问题记录

    禁止H5 ios滚动回弹,解决弹窗内滚动和页面同步滚动问题(页面为swiper整屏翻页) 引入inobounce....

  • 阻止鼠标滚动穿透事件

    在弹窗内滚动鼠标会触发页面的滚动条滚动,这就是鼠标滚动穿透事件 1.js解决 2,窗口加载完成时,给body元素添...

  • 移动端滚动穿透问题

    定义:移动端弹出fixed弹窗的话,在弹窗上滑动会导致下层的页面跟着滚动,这个叫“滚动穿透” 解决方案1 在弹出层...

  • uniapp 解决弹窗滚动冲突

    问题 页面是可以滚动的长列表,弹窗也是列表可以滚动。 解决 弹窗时禁止弹窗下的页面滑动。弹窗时底层页面不超出一整屏...

  • uniapp遮罩层实现以及禁止页面滚动

    在页面上添加遮罩层,效果图如下: 弹出 fixed 弹窗后,在弹窗上滑动会导致下层的页面一起跟着滚动,给当前遮罩层...

网友评论

      本文标题:iOS UIWebview 中双击文本触发页面自动滚动导致弹窗错

      本文链接:https://www.haomeiwen.com/subject/fcqkittx.html