私はちょうどwww.tumblr.comのようなフォームを作る方法を考えようとしています。 onFocusプレースホルダは入力ボックスに残りますが、入力が開始されるとプレースホルダテキストが消去されます。私はhereという別のチュートリアルでonFocusを実行する方法を知っていますが、その背景テキストonFocusをどう保持しているのだろうと思っていましたが、入力時にのみ変更します。css/javascript form onfocusプレースホルダーのテキストが入力中に消えてしまう
3
A
答えて
2
彼らは、テキストを変更するためにonFocusトリックを使用していません。実際には、2つの絶対的に配置されたブロック要素を別々の相対的に配置されたブロック要素内に重ねて配置しています。
次に、彼らはonKeyUpまたは同様のイベントを待って、 "label"要素を隠します。
FirefoxでFirebugを使用している場合は、効果を生成するノードとCSSを確認するのは簡単です。あなたがスタイルに必要な、彼らはかなり見えるように、これらの要素を微調整します
HTML
<div class="input_wrapper">
<label for="user_email">Email</label>
<input type="text" id="user_email" name="user_email" />
</div>
CSS
.input_wrapper {
position: relative;
}
.input_wrapper label {
position: absolute;
top: 2px;
left: 5px;
z-index: 1; /* stack below input */
}
.input_wrapper_focused label {
/* style label for focused input */
}
.input_wrapper_notempty label {
visibility: hidden;
}
.input_wrapper input {
position: absolute;
top: 0;
left: 0;
z-index: 2; /* stack above input */
}
:それは次のようになります。また、ラベルを最初に置くほどスマートなので、画面リーダーは正しい順序でコンテンツを表示します。
は、次に、あなたのJavaScriptライブラリまたは非ライブラリーの決定に依存して入力フィールドの変更とkeyUpイベント、上input_wrapper_focus/notemptyクラスを追加および削除するJSを追加する必要があります。
+0
ありがとうございます。正確に私が必要とした答え。 – dasaki
関連する問題
- 1. React - inline onfocusプレースホルダー= ''
- 2. テキストフィールドのプレースホルダーが消えています
- 3. UITextFieldのプレースホルダーにテキストを入力すると、1文字が消えるはずです
- 4. Outlook.comでテキストが消えてしまう
- 5. UITextFieldプレースホルダーのテキストは、アクションシートが解除されても消えません。
- 6. データの入力時に入力テキストが中央に揃えない
- 7. 入力時にフィールドラベルが消えない
- 8. EditTextにテキストを入力します。ユーザーがその中をクリックすると消えます。
- 9. CKEditorとJQuery検証:テキスト入力後にエラーメッセージが消えない
- 10. プレースホルダーを除いてテキスト入力の背景を変更する
- 11. 入力候補が消えます
- 12. アイコンを中央に配置した入力プレースホルダー
- 13. フォームライズ - 入力中にテキストを入力し、テキストを繰り返して入力してください。
- 14. HTML入力の自動入力プレースホルダー
- 15. テキスト入力中のキー入力
- 16. Telerik RadEditor - 新しいコンテンツを入力するとテキストが消えます
- 17. Selenium Webdriver - 次のフィールドにジャンプすると、入力したテキストが消えてしまいます
- 18. ボタンのテキストが消えました
- 19. 入力後にフォーム入力が必要なメッセージが消えない
- 20. 動的入力隠しフィールドが消えます
- 21. redux-formフィールドは入力フィールドにテキストを入力できません
- 22. テキスト入力がブラウザで消去されました
- 23. CSSを使用して、テキスト入力、テキスト領域を中央揃えにし、オプションを選択します。
- 24. ユーザーが入力中にテキストの色を変更しますか?
- 25. 1つのテキストINPUTを持つFORMは、2つのテキストINPUTを持つFORMは入力しないのに、なぜ入力しますか?
- 26. Vue.js select入力時にプレースホルダが消える
- 27. テキスト入力プレースホルダーがIEおよびFirefoxに表示されない
- 28. jQuery 1つの入力フィールドから別の入力フィールドにテキストをコピーし、プレースホルダーを保持する
- 29. タブ上のJQuery入力マスクonfocusキャレットシフト
- 30. populateテキストが値またはプレースホルダーでラベリングされています
それをサポートするブラウザには 'placeholder'属性があります。[jquery plugin](http://www.google.co.uk/search?sourceid=chrome&ie=UTF-8&q=jquery+plugin+プレースホルダ)、または数行のjs ... [SO検索ボックス](http://stackoverflow.com/search?q=placeholder+form) –