HTML占位符浏览器兼容性

Noo*_*ath 41 html browser placeholder

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

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

小智 18

对于任何感兴趣的人,这是我使用的jQuery Fallback,
我将它与jQuery Validation Engine一起使用.
将FORMCLASS替换为您的表单类.

<!-- 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]--> 
Run Code Online (Sandbox Code Playgroud)

  • 如果用户单击跳过焦点会出现问题,例如只需单击"提交",则占位符将作为字段值传递. (2认同)

Tim*_*Tim 17

除了IE 9及更早版本和Opera mini之外,目前所有主流浏览器都支持它.

有关更新,请查看w3schools-specs或者更好,查看此概述.

  • 请为了所有理智和善良的爱,不要使用w3schools.对于当前的浏览器支持,caniuse是一个很好的资源:http://caniuse.com/input-placeholder (17认同)
  • 从版本3.7开始,Firefox也支持此功能.11版的Opera和4.0版的Iphone.你知道吗 (8认同)
  • w3school不再是一个很好的信息来源了(有人说它曾经是),见[www.w3fools.com](http://www.w3fools.com/) (3认同)
  • IE仍然没有. (2认同)

小智 17

根据,IE 10支持它.(你可以在这里测试)

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

<!--[if lt IE 10]>email:<![endif]-->
<input placeholder='email' type='text' name='email'>
Run Code Online (Sandbox Code Playgroud)


小智 10

自4.0以来,Firefox也支持它


San*_*jay 8

IE不支持占位符

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

<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">
Run Code Online (Sandbox Code Playgroud)

  • 我不认为你的代码更好.这是旧的方式.我知道它有效.但实际上我们大多数浏览器都不需要这个javascript.所以我们应该使用占位符属性.如果我们不想或不想忘记IE,那么我们必须为IE提供一个明确的解决方案. (8认同)

jp2*_*ode 6

问题可能在几年前得到了回答,但我今天发现它正在进行搜索.

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

HTML5占位符属性基本上说:

除Internet Explorer外,所有主流浏览器都支持占位符属性.

仅供参考:这包括IE9.

截图

  • 可能是因为它是w3schools,它确实有一些不正确的信息.也就是说,在这种情况下,它正是我想要的,所以upvote! (3认同)