0

我必须使用rich:combobox来显示一个组合。
在某些情况下,我必须添加一个空的comboboxItem = new SelectItem("","").
这在 IE8、Chrome、Safari 上运行良好。
 用FF和Opera编写。
查看richfaces代码,我看到了带有一段奇怪代码 的类ComboBoxBaseRenderer、方法:getItems

if("".equals(convertedValue)) {
 convertedValue = "\u00A0";
}  

似乎 FF 和 Opera 将\u00A0其视为真正的空白字符并将其转换为空白空间。
这怎么可能解决?

4

1 回答 1

0

从 JavaScript 的角度来看,Opera 和 Firefox 就在这里。

由 ECMAScript 5.1 第 7.2 节定义的空白

\u0009  Tab <TAB>
\u000B  Vertical Tab    <VT>
\u000C  Form Feed   <FF>
\u0020  Space   <SP>
\u00A0  No-break space  <NBSP>
\uFEFF Other category “Zs” Byte Order Mark Any other Unicode “space separator”  <BOM> <USP>

HTML 4 定义的空格(已弃用)

ASCII space (&#x0020;)
ASCII tab (&#x0009;)
ASCII form feed (&#x000C;)
Zero-width space (&#x200B;)

HTML5 定义的空格字符

U+0020 SPACE, 
"tab" (U+0009), 
"LF" (U+000A), 
"FF" (U+000C), 
"CR" (U+000D).
于 2012-07-12T15:56:27.633 回答