【发布时间】:2013-10-20 15:25:36
【问题描述】:
假设我有 3 个跨度包裹在一个 div 中。
<div>
<span>1/1/2000</span>
<span>-</span>
<span>1/2/2000</span>
</div>
浏览器应该将 span 之间的换行符解释为空格,以便生成的显示如下所示:
1/1/2000 - 1/2/2000
...不像这些
1/1/2000-1/2/2000
1/1/2000- 1/2/2000
1/1/2000 -1/2/2000
...当跨度没有淘汰绑定时,IE8 就是这种情况。如果您使用 IE8 开发工具检查上述标记,您可以在每个 span 之后清楚地看到“Text - Empty Text Node”。
<div>
<span>1/1/2000</span>
Text - Empty Text Node
<span>-</span>
Text - Empty Text Node
<span>1/2/2000</span>
Text - Empty Text Node
</div>
但是,一旦我像这样在跨度上放置淘汰赛绑定,空文本节点的行为就会发生变化:
<div>
<span data-bind="text: start"></span>
<span data-bind="visible: end">-</span>
Text - Empty Text Node
<span data-bind="text: end"></span>
Text - Empty Text Node
</div>
...前两个跨度之间的空文本节点看起来像是被剥离了。这是淘汰错误吗?任何解决方法?这是使用版本 2.3.0。
【问题讨论】:
-
你能用小提琴重现这个吗?
-
这可能只是一个错字,但 - 没有使用 '=' 属性。它正在使用 -????
-
@PWKad 我正打算尝试,但是 jsfiddle.net 在 IE8 中抛出了各种错误,只是试图创建一个新的小提琴。
-
@segFault,不,这只是我的问题中的一个错字,我已修复它,感谢您指出。
标签: html knockout.js internet-explorer-8 whitespace knockout-2.0