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