我知道Internet Explorer不支持输入标记的占位符属性,但肯定在2012年必须有另一种解决方案的IE浏览器?IE的输入标签上的占位符属性?
回答
我写了一个jQuery插件,它会向任何不支持它的浏览器添加占位符支持。
感谢您的回复。我试过你的代码,但我似乎无法得到它的工作。我做了一个非常简单的单行HTML页面在IE 9中测试。这里是我的代码: – DextrousDave 2012-04-26 16:16:11
任何问题我做了什么。我真的尝试了各种各样的东西,我的链接都很好... – DextrousDave 2012-04-26 16:32:32
实际上,IE does support 2012的占位符属性(版本10)。加上旧版浏览器的a polyfill,您应该针对您的问题提供全面的解决方案。
而不是使用polyfill,您可以将它与事实相结合,占位符不是标签的替代品(它们是提示和示例),因此非必要,您可以不必担心不支持它们的浏览器。 – Quentin 2012-04-26 14:40:40
+1 @Quentin大点。 – Sampson 2012-04-26 14:43:06
[html5please.com](http://html5please.com/)是这类信息的另一个很好的资源。在占位符上:[http://html5please.com/#placeholder](http://html5please.com/#placeholder) – 2012-04-26 14:57:54
我们已经现在使用这个jQuery插件在生产了几个星期,它似乎是伟大的工作。
http://the.deerchao.net/PlaceHolder 它即工作没有任何通话功能...
由我尝试开发了这个jQuery插件
https://github.com/ramsunvtech/jQuery-Plugins/tree/master/IEPlaceHolder
是的,有一个很简单的解决方案对于IE8和IE9,因为在IE的更大版本上它已经可以工作。 (IE10,IE11等等)
这是我找到了解决方案:
1.检测Internet Explorer版本
<!--[if lt IE 10]>
<script type="text/javascript">var ie = 9;</script>
<![endif]-->
<!--[if lt IE 9]>
<script type="text/javascript">var ie = 8;</script>
<![endif]-->
2.修正占位符
if (typeof ie == 'undefined') var ie = 10;
if (ie == 8 || ie == 9){
$("input[placeholder]").each(function() {
this.value = $(this).attr('placeholder');
});
$("input[placeholder]").focus(function()
if (this.value == $(this).attr('placeholder')) this.value = '';
}).blur(function() {
if (this.value == '')
this.value = $(this).attr('placeholder');
});
}
- 1. 输入字段占位符属性IE7 +
- 2. IE不工作的输入占位符
- 3. 将添加的占位符属性添加到输入HTML
- 4. IE9 RTW是否支持输入元素的占位符属性?
- 5. 持续性HTML输入占位符
- 6. Spring表单标签删除空占位符属性
- 7. Osgi属性占位符
- 8. 访问占位符属性
- 9. 占位符属性与:
- 10. html占位符属性
- 11. Google Guice属性占位符
- 12. 在html中输入占位符标记
- 13. 不使用占位符属性的jQuery插件占位符
- 14. IE:输入栏的占位符影响选框的宽度
- 15. 添加属性属性占位符
- 16. IE中的占位符
- 17. 占位符和输入图标上的文本
- 18. 当选择无线电输入时修改占位符属性
- 19. HTML5输入类型=数字和占位符属性
- 20. 中心输入占位符Win7上
- 21. 在IE中的HTML输入字段占位符
- 22. 如何在IE中设置输入框的占位符
- 23. jQuery的占位符,显示占位符,直到文本输入
- 24. vb.net HTML输入占位符
- 25. 风格输入占位符
- 26. 另一个属性的属性占位符位置
- 27. FireFox上的占位符未显示/输入禁用,(Chrome和IE的作品)
- 28. 去掉占位符内的xml标签
- 29. XtraReport的占位符类型标签
- 30. 使用jQuery来为输入标签的占位符属性设置动画效果
https://www.google.com/search?q=placeholder+polyfill – SLaks 2012-04-26 14:35:51
好问题。在跳转回答之前,让我们看看其他浏览器中*本地支持*的情况。在IE10 RP上测试,-ms-input-placeholder {} psuedo选择器支持[此**测试**页面上列出的所有13个属性](http://newilk.com/testing/Placeholder_styling)。 Chrome不支持占位符中的填充,而FF的行高不足。较新版本的Safari支持13个属性中的5个(同时在其以前的版本中支持10个属性)。从Opera 11开始,占位符样式被丢弃。 – 2012-09-12 16:39:19