Jquery 宽度自动不使用剔除文本绑定更新

Jquery 宽度自动不使用剔除文本绑定更新,jquery,html,css,knockout.js,Jquery,Html,Css,Knockout.js,好吧,我刚开始做一个正在进行的项目。我注意到一个错误,用户名会出现在另一个元素中,直到光标悬停在它上面 经过大量调查,我发现这是因为这个项目使用Knockout.js。对于span元素中的占位符,它们有一个不间断的空格。因此,当呈现页面时,它有时会忘记使用新更改的文本更新宽度自动 <span data-bind="text: db.who">&nbsp;</span> <!--and updates to--> <span data-bind="

好吧,我刚开始做一个正在进行的项目。我注意到一个错误,用户名会出现在另一个元素中,直到光标悬停在它上面

经过大量调查,我发现这是因为这个项目使用Knockout.js。对于span元素中的占位符,它们有一个不间断的空格。因此,当呈现页面时,它有时会忘记使用新更改的文本更新宽度自动

<span data-bind="text: db.who">&nbsp;</span>
<!--and updates to-->
<span data-bind="text: db.who">Username</span>
<!--however, ^this^ updated version does not allow for the width: auto to work.-->

用户名

我对涉及html、css、javascript和/或JQuery的答案持开放态度,因为您需要像这样使用attr绑定

<span data-bind="text: db.who,attr:{width:SetWidth}">Username</span>

self.SetWidth = function(){
    return 'auto'
}
用户名
self.SetWidth=函数(){
返回“自动”
}

这将动态应用,因此当呈现页面时,knockout将调用SetWidth函数返回一些内容并将其应用于元素

您可以添加周围的标记或JSFIDLE吗?它怎么可能是“有时”——也就是说,有时它能按预期工作?它“有时”工作是因为浏览器呈现页面的方式。如果与服务器的连接是快速的,它通常会按预期工作。它不工作。也许我的诊断是错的。我正在开发MineOS用户界面页面。您可以在以下位置查看我的fork:(它位于html>index_en.html中)