ホームページ > ウェブフロントエンド > CSSチュートリアル > Chrome でフォーカスがあるときにプレースホルダー テキストが保持されるのはなぜですか?それを修正するにはどうすればよいですか?

Chrome でフォーカスがあるときにプレースホルダー テキストが保持されるのはなぜですか?それを修正するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-10 09:01:02
オリジナル
968 人が閲覧しました

Why Does Chrome Keep Placeholder Text When Focused, and How Can I Fix It?

CSS と jQuery を使用して Chrome の自動フォーカス プレースホルダーの不具合を克服する

HTML でプレースホルダー テキストを操作する場合、よく問題が発生します。入力フィールドがフォーカスを取得した場合でも、プレースホルダー テキストは表示されたままになります。 Firefox、Safari、Edge などのブラウザはこれを適切に処理し、プレースホルダー テキストを自動的に非表示にします。ただし、Chrome ではこれに失敗することがよくあります。

Chrome でのこの特定の問題に対処するには、CSS または jQuery を利用できます。次の CSS ルールを使用すると、入力フィールドがフォーカスを受け取ったときにプレースホルダー テキストを透明にすることができます:

input:focus::placeholder {
  color: transparent;
}
ログイン後にコピー

この CSS 宣言は、特に入力フィールドがフォーカスされているときにプレースホルダー テキストをターゲットにします。色を透明に設定すると、プレースホルダー テキストは実質的に非表示になります。

jQuery ソリューションを使用したい場合は、次のコードを使用できます。

$(function() {
  $("input[placeholder]").focus(function() {
    $(this).attr("placeholder", "");
  });

  $("input[placeholder]").blur(function() {
    $(this).attr("placeholder", $(this).attr("data-placeholder"));
  });
});
ログイン後にコピー

この jQuery コードでは、リッスンします。プレースホルダー属性を持つ入力要素のフォーカス イベントとブラー イベントの場合。フォーカスが得られると、プレースホルダー属性がクリアされ、プレースホルダー テキストが非表示になります。フォーカスが失われた場合、初期化時に設定した data-placeholder 属性に格納されている値にプレースホルダー属性を設定することで、プレースホルダー テキストを復元します。

CSS ソリューションと jQuery ソリューションは両方とも、プレースホルダー テキストを効果的に自動的に非表示にします。 Chrome では入力フィールドがフォーカスされると、すべてのブラウザで一貫したユーザー フレンドリーなエクスペリエンスが保証されます。

以上がChrome でフォーカスがあるときにプレースホルダー テキストが保持されるのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート