2012-02-09 82 views
0

我创建Add按钮创建输入字段 让我告诉你这里如何使用.keyup()添加新的输入字段?

$(document).ready(function(){ 
    var scntDiv = $('#add_words'); 
    var wordscount = 1 ; 
    var i = $('.line').size() + 1; 
    $('#add').click(function() { 
     wordscount++; 
     $('<div class="line">Word is ' + wordscount + '<input type="text" class="input' + wordscount + '" value="' + wordscount + '" /></div>').appendTo(scntDiv); 
     i++; 
     return false; 
    }); 

<a id="add">Add</a> 
<div id="add_words"> 
    <div class="line">Word is 1<input type="text" value="1" /></div> 
</div> 

我的代码,我想用.keyup()函数代替<a id="add">Add</a>。任何一个请帮助我 在此先感谢

回答

1

这样的事情下面,here

$(document).keyup(function(e) { 
    var key = (e.keyCode ? e.keyCode : e.which); 
    if (key === 32) { 
     $('body').append('<p>stop touching your keyboard</p>'); 
    } 
}); 
1

你试过安全吗?这与将键入事件分配给输入字段而不是在div上使用click事件一样简单。

我看到你遇到的问题是针对每个字符,在keyup上会创建一个新的输入字段,所以你可以通过以下两种方式之一来解决这个问题:1)删除keyup事件一旦创建了一个新的输入字段,在这种情况下,根据您提供的信息,我假设您希望将键入事件分配给新的输入字段,因此如果有人开始在那里键入内容,则会创建另一个输入字段。

(你需要jQuery的bindunbind方法)

或2)创建一个标志说,如果有一个新的领域或没有。这个选项的优化程度稍差一点,我走这条路线时遇到的问题是事件触发了添加到输入字段的每个字符,但是我只是在需要时抛出它,因为没有太多详细说明你正在努力完成的事情。

+0

我还没有尝试过的关键代码的列表, 我在JQuery的是新。 我想创建一个在线字典。使用'keyup()'为客户添加额外的文本字段以将新单词添加到数据库 – Muhammed 2012-02-09 08:13:53