我刚刚跑进Firefox中使用knockoutjs绑定多行文本的一个非常奇怪的现象。 这里是我的小提琴: http://jsfiddle.net/NznVZ/ 。
我们有一个textarea,并与值/文本结合到同一个观察的跨越。 目前,Chrome和IE都显示在span元素多行文本,但Firefox不(它只是串接几行到1)。
有人可以解释是什么/哪里出了问题? 也许有人已经运行到这个问题,有一个解决方案?
提前致谢
PS火狐12,IE 9,铬18
我刚刚跑进Firefox中使用knockoutjs绑定多行文本的一个非常奇怪的现象。 这里是我的小提琴: http://jsfiddle.net/NznVZ/ 。
我们有一个textarea,并与值/文本结合到同一个观察的跨越。 目前,Chrome和IE都显示在span元素多行文本,但Firefox不(它只是串接几行到1)。
有人可以解释是什么/哪里出了问题? 也许有人已经运行到这个问题,有一个解决方案?
提前致谢
PS火狐12,IE 9,铬18
设置white-space: pre-wrap
风格上的跨度将使其工作: http://jsfiddle.net/mbest/NznVZ/12/
这里有一个小背景。 IE和Chrome将换行转换为字符串中的<br>
在HTML元素文本时使用设置innerText
,这是淘汰赛使用。 Firefox不具备innerText
那么淘汰赛采用textContent
,这并不做字符串的任何转换。 (有趣的是,Chrome浏览器,当你使用Firefox的匹配white-space: pre-wrap
。风格)
IE:
<span>First line.<br>Second Line.<br> Third line preceded with 5 space characters.</span>
铬(不含空格风格):
<span>First line.<br>Second Line.<br> Third line preceded with 5 space characters.</span>
Firefox和Chrome(白色空间风格):
<span>First line.
Second Line.
Third line preceded with 5 space characters.</span>
如果你想要一个JavaScript解决方案: http://jsfiddle.net/9KAQX/
这里唯一的优点是“\ n”个字符是不存在的跨度。