我知道 Internet Explorer 不支持输入标签的占位符属性,但肯定在 2012 年必须有另一种 IE 解决方案?
问问题
18499 次
6 回答
14
不久前我写了一个 jQuery 插件,它将为任何不支持它的浏览器添加占位符支持。
于 2012-04-26T15:59:03.817 回答
3
实际上,IE在 2012(版本 10)中确实支持占位符属性。将此与旧浏览器的 polyfill结合起来,您应该有一个全面的解决方案来解决您的问题。
于 2012-04-26T14:35:51.783 回答
0
我们已经在生产环境中使用这个 jQuery 插件几个星期了,它似乎工作得很好。
于 2012-04-26T20:33:34.363 回答
0
试试我开发的这个 jQuery 插件
https://github.com/ramsunvtech/jQuery-Plugins/tree/master/IEPlaceHolder
于 2014-01-04T13:03:53.877 回答
0
http://the.deerchao.net/PlaceHolder 它可以在 ie 上运行,无需调用任何函数...
于 2012-11-27T00:31:27.180 回答
0
是的,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');
});
}
于 2014-10-25T21:29:29.623 回答