由于克隆克隆了整个事物(文本框的值,名称,标识以及您可以想到的任何属性),您可能只想生成新的文本框而不是使用clone()。 生成一个新的文本框,您可以使用此代码:
var new_txt = $('<input>').attr({'type' : 'text'});
您可以用逗号分隔,每个属性指定多个属性输入:
$('<input>').attr({'type' : 'text', 'name' : 'something'});
为了达到你想要做什么你需要一个容器来添加新生成的文本框。
<div id="container">
<input type="text" id="txt_item"/>
</div>
然后,只需使用实时()方法,以使每次用户按上生成一个新的文本框,一个文本框中输入:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$('input[type=text]').live('keydown', function(e){
var new_txt = $('<input>').attr({'type' : 'text'});
if(e.keyCode == 13){//If user press enter
new_txt.appendTo('#container').focus(); //append then focus to new textbox
}
});
</script>
正如你可以看到这是一个非常简单的例子,但你可以从这里拿走它。祝你好运!
嗨,欢迎来到StackOverflow!你能告诉我们你到目前为止所尝试过的吗?我们喜欢使用jsfiddle.net来展示示范:) – Undefined 2012-07-28 22:23:41
谢谢萨姆,我会提供一个链接到jsfiddle.net。 – 2012-07-29 07:14:01