1

我使用的是 SimpleModal 1.4.4,当我在 ipad 上打开页面时,它的行为很奇怪。

模态的 autoPosition 设置为 true。当它加载时,它显示模态成功居中。

在模式中,我有用户和密码的文本框。当我专注于用户文本框时,虚拟键盘打开,缩小视口,但模态继续在其位置上,没关系。

实际上,问题出在我输入内容时。发生了一个奇怪的行为,模态本身“移动”了一些像素。然后文本框变为隐藏。

我发现了一个常见的行为,如果我向上滚动页面以查看隐藏的 texbox,清除 texbox 然后输入一个新值,它会向上或向下移动与我所做的滚动“相同”数量的像素。

总结:每次我在文本框中输入一个值时,它似乎都会自动定位模态,并且它的计算是基于我之前所做的滚动:

  • 如果我做一个小滚动,然后在文本框上输入一个新值,弹出窗口会移动一点。
  • 如果我进行长滚动,然后在文本框中输入一个新值,则弹出窗口会移动得太远。

如果我禁用自动定位,它不会发生,但是由于默认的 css 值,弹出窗口本身变得不可见。

我的选择是:

  • 要禁用自动定位,请在 popup-container 上设置 position:relative ,然后正确更改弹出边距以使其在屏幕上居中
  • 使用自动定位找到可能的解决方法。

我真的很愿意使用第二种方法,所以我需要帮助来进一步调查或了解是否有人有这种行为和困难。

提前致谢!

4

1 回答 1

0

使用“固定”选项:

$(element).modal({fixed: false}); 证明 - https://code.google.com/p/simplemodal/issues/detail?id=80

我的代码

 $.modal(data, {
                        minWidth: 350,
                        maxWidth: 400,
                        maxHeight: 450,
                        autoResize: false,
                        overlayClose: false,
                        fixed: false,
                        opacity: 80,
                        onShow: runPopup
                    });
于 2014-02-13T11:47:00.800 回答