Internet Explorerが入力タグのプレースホルダー属性をサポートしていないことは知っていますが、確かに2012年にはIEの別のソリューションが必要ですか?
回答:
回答№1は14私はしばらく前にjQueryプラグインを作成しました。これは、それをサポートしていないブラウザーにプレースホルダーサポートを追加します。
回答№2の場合は3
実はIE サポートをしています 2012年のプレースホルダー属性(バージョン10)。これを組み合わせる ポリフィル 古いブラウザの場合、問題に対する包括的な解決策が必要です。
回答№3の場合は0
このjQueryプラグインを本番環境で数週間使用しており、うまく機能しているようです。
http://webcloud.se/code/jQuery-Placeholder/
回答№4の場合は0
http://the.deerchao.net/PlaceHolder つまり、関数を呼び出さなくても機能します。
回答№5の場合は0
私が開発したこのjQueryプラグインを試してください
https://github.com/ramsunvtech/jQuery-Plugins/tree/master/IEPlaceHolder
答え№6の場合は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");
});
}