web-dev-qa-db-ja.com

プレースホルダーはIE8でBootstrap

プロジェクトにBootstrap)を使用しています。プレースホルダーは、Internet Explorer8以下を除くすべてのブラウザーで正常に表示されます。

IE8でプレースホルダーサポートを取得するためのソリューションはありますか?

15
user521024

このプラグインを使用できます https://github.com/mathiasbynens/jquery-placeholder IE6でも機能します

8
Ruben

そのためにjquery透かしプラグインを使用できます

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

4
rahul

ルーベンスの回答から追加すると、ここにデモがあります

http://mathiasbynens.be/demo/placeholder

2
Dan

プラグインなしでこれを理解するのは難しいことではないはずです、私はこれに近い何かがトリックをするだろうと推測しています:

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');
                         }
                       }
                   });
        }
    });
}
2
adeneo

IE9以下は、placeholder属性をサポートしていません。 this を参照してください

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();
1
Eonasdan