15

Internet Explorerが入力タグのプレースホルダー属性をサポートしていないことは知っていますが、確かに2012年にはIEの別のソリューションが必要ですか?

4

6 に答える 6

14

しばらく前にjQueryプラグインを作成しました。これにより、プレースホルダーのサポートがサポートされていないブラウザーに追加されます。

IEのプレースホルダーテキスト

于 2012-04-26T15:59:03.817 に答える
3

実際、IEは2012(バージョン10)のプレースホルダー属性をサポートしています。これを古いブラウザ用のポリフィルと組み合わせると、問題に対する包括的な解決策が得られるはずです。

于 2012-04-26T14:35:51.783 に答える
0

このjQueryプラグインを本番環境で数週間使用しており、うまく機能しているようです。

http://webcloud.se/code/jQuery-Placeholder/

于 2012-04-26T20:33:34.363 に答える
0

http://the.deerchao.net/PlaceHolder それは、つまり関数を呼び出さずに動作します...

于 2012-11-27T00:31:27.180 に答える
0

私が開発したこのjQueryプラグインを試してください

https://github.com/ramsunvtech/jQuery-Plugins/tree/master/IEPlaceHolder

于 2014-01-04T13:03:53.877 に答える
0

はい、IE8とIE9には非常に簡単な解決策があります。これは、IEのより優れたバージョンではすでに機能しているためです。(IE10、IE11など)

これは私が見つけた解決策です:

1.InternetExplorerのバージョンを検出する

<!--[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 に答える