input タグで HTML5 プレースホルダー属性を使用すると、IE9 で正常に表示されますが、そうでないことを示す多くのコメントがあります。
例えば:
<input id="email_input" placeholder="E-mail address" type="text" />
これにより、IE9 でもプレースホルダー テキストが実際にレンダリングされます。
しかし、私は現在、JQuery Mobile を使用してクライアント側の言語リソースを適用するプロジェクトに取り組んでいます。これは、pagebeforecreateイベント内で発生します。プレースホルダー テキストの場合、コードは次のようになります。
$(inputelem).attr("placeholder", resourceText);
置き換えは IE9 で部分的に機能します。開発ツールで入力タグを調べると、属性は確かに更新されています。ただし、ブラウザに表示されるテキストは同じままです。これは、プレースホルダー属性が変更された後に要素を更新する必要があることをブラウザーのレンダリングが「認識」していないかのようです (同じコードが div:s、p:s などで機能します)。
プレースホルダー ハック (スパン オーバーレイなど) に頼ることなく、これを IE9 で動作させる秘訣はありますか?