HTML占位符浏览器兼容性

哪些浏览器支持文本input的占位符html标记? Internet Explorer是否支持它? (我有一个JavaScript占位符,我可以使用不支持它的浏览器。)

<input type=TEXT placeholder="placeholder here" />

目前除了IE 9以及Opera mini以外,所有主stream浏览器都支持它。

有关更新,请查看w3schools-specs甚至更好,查看此概述 。

对于任何感兴趣的人来说,这是我使用的jQuery Fallback
我使用它与jQueryvalidation引擎。
将FORMCLASSreplace为表单的类。

 <!-- IF IE - use Placeholder Fallback --> <!--[if lt IE 10 ]> <script> $(".FORMCLASS").find('[placeholder]').each(function(){ $(this).val($(this).attr('placeholder')); $(this).focus(function() { if ($(this).attr('placeholder')==$(this).val()) { $(this).val(''); } }); }); </script> <![endif]--> 

据此,IE 10支持它。 (你可以在这里testing )

我解决了这个问题 – 可能是最简单的方法:

 <!--[if lt IE 10]>email:<![endif]--> <input placeholder='email' type='text' name='email'> 

自从4.0以后,Firefox也支持它

IE不支持占位符

我觉得这个代码更好,它适用于所有主stream浏览器

 <input id="example-email" type="text" value="Email Address" onfocus="if(this.value === 'Email Address') this.value = '';" onblur="if(this.value === '') this.value = 'Email Address';" name="example-email"> 

问题可能在几年前已经得到解答,但我今天发现它在search。

由于以前没有提供很好的参考和图片,我正在用这两个更新这个问题。

HTML5占位符属性基本上说:

除了Internet Explorer之外,所有主stream浏览器都支持占位符属性。

仅供参考:包括IE9。

截图

如果有人正在寻找一个HTML5占位符一样的解决scheme的不支持的浏览器这里是一个很好的文章:

http://www.viget.com/inspire/a-better-jquery-in-field-label-plugin/

占位符完全支持:

  • FF 4+
  • Chrome 4+
  • Safari 5+
  • Opera 11.6+
  • IE 10+

来源: 我可以使用input占位符属性?

对于那些想要最简单的解决scheme,使用内置的function!

 <input type="text" name="email" value="Email Address" placeholder="Email Address" onfocus="if(this.value==this.placeholder) this.value=''" onblur="if(this.value=='') this.value=this.placeholder"> 

testing在铬和IE8 🙂

注:我使用这个更多的JavaScript来validationinput,并通过在运行时更改值和占位符在字段本身给予反馈。

我知道这是一个古老的问题。 我的build议是使用Modernizr检测占位符的支持! https://modernizr.com/