jQuery: textarea Standardwert disppear auf klicken Sie auf
Ich möchte eine textarea mit einigen Standard-text. Wenn der Benutzer klickt in das Textfeld
sollte der Standardtext gelöscht werden. Wie kann ich den Wert der textarea verschwinden auf Klick?
Ich will es genau so, http://www.webune.com/forums/20101025cgtc.html
Aber ich wollen, die es im jQuery.
<textarea id="textarea">This should be removed..</textarea>
- Wenn es funktioniert in plain JavaScript, warum erschweren Sie es mit jQuery?
- Ich möchte den text "dies sollte entfernt werden.." nicht in eine javascript-variable aber in der html -, und bevorzuge ich jquery besser
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich benutze dies als ein bisschen mehr generisch - es löscht das element mit dem Wert im Fokus, sondern das element zurückgegeben, die den Wert auf den Standardwert wenn Sie leer sind.
Erreichen Sie dies auch ohne JavaScript durch die Verwendung
Platzhalter
- Attribut.Aber Sie sollten sich bewusst sein, dass nicht jeder browser unterstützt es noch nicht. In diesem Fall können Sie zum Beispiel mit diesem plugin: http://plugins.jquery.com/project/input-placeholder
Sollte dies funktionieren:
Live-demo: http://jsfiddle.net/g7UKN/1/
Update:
Dies sollte es tun:
Live-demo: http://jsfiddle.net/g7UKN/2/
defaultValue
- Eigenschaft speichert den Initialen Wert des TEXAREA-element. Alsodata('default')
ist nicht erforderlich.Sehr einfache, nicht-jQuery-abhängige Lösung:
//edit
.blur
und.focus
wie kann man betreten und verlassen der textarea mit tabs. Auch$(this).val() = "";
sollte$(this).val("");
Versuchen Sie einfach das unten snippet. Erste mal, wenn Sie klicken Sie auf das Textfeld leert den Inhalt.
Benötigen Sie zwei Prozeduren, eine für, wenn das element den Fokus erhält und man, wenn es verliert. Wenn es den Fokus erhält, überprüfen Sie, ob der Wert nur Leerzeichen und, falls ja, setzen Sie den Wert auf die Standardeinstellung.
Und wenn jemand will, um diesen trick zu tun, die auf eine ajax geladen Texteingabefelder können Sie erreichen dies mit der
.live()
event 😉