jquery中动态创建一个input框,怎么把光标也固定到这个框子上?

var $xin_pwd=$("<input type='password'>");//新建一个input框,
$("ul li:last").append($xin_pwd)//把这个框添加到ul列表的最后一个li中。
但是,我想让它创建好并且添加到li中后,光标自动在这个input框上。怎么弄?
如果不自动在这个框上,我还得点一下。

思路:首先获取这个新创建的input对象,然后使用focus()方法设置焦点。

示例如下——点击按钮创建一个input,并使其获得焦点:

1、HTML结构

<ul>

    <li><input type="text"></li>

    <li></li>

</ul>

<input type="button" value="添加">

2、jquery代码

$(function(){

    $("input:button").click(function() {

        pwd = $("<input type='password'>");     // 创建的input对象

        $("ul li:last").append(pwd);                        // 将创建的input添加到相应的位置

        $("ul li:last input").focus();                        // 获取新添加的input,使用focus()设置焦点

    });

});

3、效果演示

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-01-08
setTimeout(function(){
$("ul li:last input").focus()
},1);
记得哦 $("ul li:last").append($xin_pwd) 后 直接要加定时器哦 不然找不到这个对象本回答被提问者和网友采纳
第2个回答  2015-01-08
$xin_pwd.focus();追问

我试了试,不知道为什么,还不行。
var $del=$("input:last").detach(); //删除input
$("ul li:last").append($xin_pwd); //添加一个新的input框
alert("固定光标");
$xin_pwd.focus(); //把光标固定到新建的input框
alert("固定光标完毕");

相似回答