Internet Explorerが入力タグのプレースホルダー属性をサポートしていないことは知っていますが、確かに2012年にはIEの別のソリューションが必要ですか?
18499 次
6 に答える
14
しばらく前にjQueryプラグインを作成しました。これにより、プレースホルダーのサポートがサポートされていないブラウザーに追加されます。
于 2012-04-26T15:59:03.817 に答える
3
実際、IEは2012(バージョン10)のプレースホルダー属性をサポートしています。これを古いブラウザ用のポリフィルと組み合わせると、問題に対する包括的な解決策が得られるはずです。
于 2012-04-26T14:35:51.783 に答える
0
このjQueryプラグインを本番環境で数週間使用しており、うまく機能しているようです。
于 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 に答える