15

我正在为我的项目使用 Bootstrap。除 Internet Explorer 8 及以下版本外,所有浏览器的占位符都可以正常显示。

是否有任何解决方案可以在 IE8 中获得占位符支持?

4

5 回答 5

8

你可以使用这个插件 https://github.com/mathiasbynens/jquery-placeholder 甚至可以在 IE6中使用

于 2013-04-26T09:30:04.650 回答
4

您可以为此使用jquery水印插件

https://code.google.com/p/jquery-watermark/

于 2012-11-07T12:56:46.847 回答
2

如果没有插件,应该不难解决这个问题,我猜接近这个的东西可以解决问题:

var test = document.createElement('input');
if (!('placeholder' in test)) {
    $('input').each(function () {
        if ($(this).attr('placeholder') != "" && this.value == "") {
            $(this).val($(this).attr('placeholder'))
                   .css('color', 'grey')
                   .on({
                       focus: function () {
                         if (this.value == $(this).attr('placeholder')) {
                           $(this).val("").css('color', '#000');
                         }
                       },
                       blur: function () {
                         if (this.value == "") {
                           $(this).val($(this).attr('placeholder'))
                                  .css('color', 'grey');
                         }
                       }
                   });
        }
    });
}
于 2012-11-07T13:12:48.120 回答
2

从鲁本斯的回答中添加,这里有一个演示

http://mathiasbynens.be/demo/placeholder

于 2013-08-27T03:37:25.070 回答
1

IE9 及以下不支持该placeholder属性。看到这个

不过,您可以使用EZPZ 提示来补充它。如果浏览器是 IE,只需加载脚本

 <!--[if lt IE 10]>
      <script src="PATHTOFILE"></script>
    <![endif]-->

EZPZ 提示允许您继续使用placeholder现代浏览器。

例子:

<input type="text" id="search" placeholder="Search" />

$("input[type=text]").ezpz_hint();
于 2012-11-07T12:57:18.347 回答