我想在單擊div時關注輸入元素。focus()使用jQuery輸入元素,但不顯示光標
我的HTML看起來像這樣:
<div class="placeholder_input">
<input type="text" id="username" maxlength="100" />
<div class="placeholder_container">
<div class="placeholder">username</div>
</div>
</div>
然後我的腳本:
$("#username").focus(function() {
$(this).next().hide();
});
$(".placeholder_input").mousedown(function() {
$(this).children(":first").focus();
});
當我點擊進入文本框,佔位符文本正確地消失,但閃爍的光標不顯示在文本框中。 (我不能鍵入任何文本到文本框)
裏面的mousedown
事件處理程序中,$(this).children(":first")
表達式選擇正確的輸入元素,所以我不知道爲什麼focus()
不能正常工作。
哇!你是對的......但爲什麼? – Zsolt
我老實說不確定;和[用'on()']測試(http://jsfiddle.net/davidThomas/wpnNY/2/)似乎沒有提供任何有用的信息。我懷疑這是因爲'mouseup'事件是在'mousedown'(和'focus()')之後調用的,它將焦點放回到'.placeholder_input'元素,並遠離'input'本身。 –