在输入标记中使用HTML5占位符属性时,尽管有很多注释表明其他情况,但它在IE9中显示正常。
例如:
<input id="email_input" placeholder="E-mail address" type="text" />
这确实呈现了占位符文本,即使在IE9中也是如此。
但是,我现在正在使用一个使用JQuery Mobile来应用客户端语言资源的项目。这发生在 pagebeforecreate 事件中。对于占位符文本,代码可能如下所示:
$(inputelem).attr("placeholder", resourceText);
替换部分在IE9中有效。如果使用dev工具检查输入标记,则该属性确实已更新。但浏览器中显示的文本保持不变。这就好像浏览器渲染没有“知道”它应该在修改占位符属性后刷新元素(相同的代码适用于div:s,p:s等)。
是否有一个技巧可以让它在IE9中运行,而不必诉诸占位符黑客(跨度覆盖等)?