【问题标题】:iOS 7 Safari jquery text() is not being renderediOS 7 Safari jquery text() 未呈现
【发布时间】:2013-10-31 15:47:52
【问题描述】:

我正在使用

$('.profile-block .first-name').text(profile_user.first_name)

设置我的文本

<h2 class="name">
    <span class="first-name"></span>
    <span class="last-name"></span>
</h2>

但是文本没有被渲染

我使用的是 iOS 7.0 及其 Safari 应用程序。

当我打开我的网络检查器并强制元素重新渲染(如更改字体大小)时,开始编辑任何 css,文本将可见。

我想出了一个将 放入节点的解决方案

<span class="first-name">&nbsp;</span>

然后文本被渲染....

为什么会这样?

【问题讨论】:

    标签: jquery css safari ios7 rendering


    【解决方案1】:

    所以你可以做一些非常讨厌的事情(我还没有找到更好的方法),以强制浏览器重排:

    var forceReflow = function(el) {
        el = el || document.body;
        el.style.position = 'static';
        setTimeout(function() {
            el.style.position = 'relative';
        }, 0);
    }
    

    这应该可以解决您的问题。虽然在body 上执行它不是最好的性能,所以可能传入.profile-block 的父级

    【讨论】:

    • @buzz 我无法解释
    猜你喜欢
    • 2013-10-04
    • 2018-05-17
    • 2020-04-17
    • 1970-01-01
    • 2013-10-04
    • 2015-04-19
    • 2015-09-26
    • 2020-08-26
    • 2018-07-04
    相关资源
    最近更新 更多