ios6 有<input>占位符文本时方向更改的 Safari 错误



我在mobile safari iOS6上有一个错误,只有在方向改变时布局向左移动——从纵向到横向再向后。

只有当占位符属性中有内容时,该错误才会存在,如果删除占位符属性的内容,则方向更改没有错误。我在上设置了一个演示http://beta.9eggs.com/ios6.html您可以在其中切换输入占位符的内容并添加或删除bug。

我已经看到了解决布局问题的解决方案,但我想了解占位符导致问题的原因,并解决这个问题——而不是包含布局。

尝试在input的父元素上设置overflow: hidden;,对我有效。

这个相关的问题让我找到了一个适合我的解决方案

if ( /iPhone/.test(navigator.userAgent) &&
!/Opera Mini/.test(navigator.userAgent) )
{
window.addEventListener("orientationchange", function(e){
/*
// Method A:
var s = document.documentElement.style;
s.display = 'none';
setTimeout(function(){ s.display = 'block'; }, 0);
*/
// Method B:
var d = document.documentElement;
setTimeout(function(d){ d.className = d.className; }, 0);
});
}

希望这能有所帮助。

最新更新