appendTo之后的jquery无法关注输入框

时间:2014-04-28 14:30:26

标签: javascript jquery click focus appendto

将输入框附加到其他元素后,它不会让在框中单击(焦点会立即消失)。为什么会这样?这是JSFIDDLE

HTML

<div id="placeHolder" onclick="appendSearch()">placeHolder</div>
<input id='box' type='text'></input>

JS

function appendSearch(){
    $("#box").appendTo($("#placeHolder"))
}

2 个答案:

答案 0 :(得分:1)

如果您想将焦点直接放在文本框中,请使用.focus()

$("#box").appendTo($("#placeHolder")).focus();

我更新了 jsFiddle

答案 1 :(得分:0)

appendTo方法导致输入失去焦点,因为输入现在在div中,并且它在点击时调用该函数。以下代码将说明这一点。

function appendSearch(){
    if ($("#placeHolder input").length == 0) {
        $("#box").appendTo($("#placeHolder"));
    }
}