我是 salesforce (SFDC) 开发人员。 在我的输入框的 Visualforce 页面中,我使用占位符代码。
<div class="control-group">
<label class="control-label visible-desktop" for="first_name">First Name</label>
<div class="controls">
<input class="input-block-level" name="First Name" id="first_name" placeholder="First Name" value="" type="text" required="required" autofocus="autofocus" />
</div>
</div>
我在互联网上检查了一些 CSS hack,但没有找到。 我发现了一些 javascript hack。
HTML5 占位符 jQuery 插件
https://github.com/mathiasbynens/jquery-placeholder
演示和示例
http://mathiasbynens.be/demo/placeholder
但我不想使用 jQuery hack 之类的东西。
最佳答案
由于 IE9 不支持 placeholder 属性,您可以像这样在 Javascript/jQuery 中执行此操作(快速编写,未测试):
if(navigator.appVersion.match(/MSIE [\d.]+/)){
var placeholderText = 'Some Placeholder Text';
$('#first_name').val(placeholderText);
$('#first_name').blur(function(){
$(this).val() == '' ? $(this).val(placeholderText) : false;
});
$('#first_name').focus(function(){
$(this).val() == placeholderText ? $(this).val('') : false;
});
}
对模糊事件也执行相同的操作,然后这将模仿占位符属性。
[编辑]
好吧,在重新考虑这一点(由于评论)之后,这确实不是最优雅的解决方案(但是它确实有效),所以我会完全忽略这个答案。
关于jquery - 占位符在 IE9 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17696646/