8

以下のコードに従って入力を作成しました。

<div>
  <form id="me" runat="server">
  <input id="stuff" type="text" placeholder="Type here" runat="server" />
  </form>
</div>

予想どおり、入力を開始すると、プレースホルダー テキストが消えます。これは、Burning Cat ブラウザでは想定どおりに機能しますが、Shiny Metal ブラウザでは機能しません。何が原因ですか (スタイル、サーバータグ、その他...)? それについて何ができるでしょうか?

4

3 に答える 3

28

私は今日同じ問題に遭遇し、純粋なCSSソリューションハックを思いつきました。

input:focus::-webkit-input-placeholder {
    color: transparent;
}
于 2013-01-25T15:17:06.897 に答える
10

Firefox と chrome (および safari) は、HTML5 プレースホルダーに対して異なる動作をします。クロムがフォーカス時にプレースホルダーを非表示にする場合は、次のスクリプトを使用できます。

$('input:text, textarea').each(function(){
    var $this = $(this);
    $this.data('placeholder', $this.attr('placeholder'))
         .focus(function(){$this.removeAttr('placeholder');})
         .blur(function(){$this.attr('placeholder', $this.data('placeholder'));});
});
于 2012-08-09T23:55:52.063 に答える
0

このプレースホルダー jquery プラグインを使用できます: placeholderFix。このプラグインを使用すると、プレースホルダー タグはすべてのブラウザーで同じように機能し、それをサポートしていないブラウザーでも機能します。

于 2012-08-18T07:23:44.017 に答える