Ich möchte ein Eingabeelement fokussieren, wenn ein div angeklickt wird.focus() Eingabeelement mit jQuery, aber der Cursor erscheint nicht
Mein HTML sieht wie folgt aus:
<div class="placeholder_input">
<input type="text" id="username" maxlength="100" />
<div class="placeholder_container">
<div class="placeholder">username</div>
</div>
</div>
Und mein Skript ist:
$("#username").focus(function() {
$(this).next().hide();
});
$(".placeholder_input").mousedown(function() {
$(this).children(":first").focus();
});
Als ich in das Textfeld klicken, wird der Platzhalter-Text korrekt verschwindet, aber der blinkende Cursor zeigt nicht in der Textbox. (Und ich kann keinen Text in das Textfeld eingeben)
Innerhalb der mousedown
Ereignisbehandlungsroutine, der $(this).children(":first")
Ausdruck das richtigen Eingabeelement auswählt, so ich habe keine Ahnung, warum der focus()
Anruf nicht funktioniert.
Wow! Du hast Recht ... Aber warum? – Zsolt
Ich bin ehrlich gesagt nicht sicher; und [testet mit 'on()'] (http://jsfiddle.net/davidThomas/wpnNY/2/) scheint keine nützlichen Informationen zu liefern. Ich nehme an, es liegt daran, dass das 'mouseup'-Ereignis nach dem' mousedown' (und 'focus()') aufgerufen wird, was den Fokus zurück auf das '.placeholder_input'-Element und weg von der' Eingabe' selbst zieht. –