如何使用.keyup()添加新的输入字段?

时间:2012-02-09 00:02:26

标签: javascript jquery-ui jquery

我创建了添加按钮来创建输入字段 让我告诉你我的代码

$(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>。请任何人帮助我 提前谢谢

2 个答案:

答案 0 :(得分:1)

你有没有尝试过keyup?就像将keyup事件分配给输入字段而不是使用div上的click事件一样简单。

我看到你遇到的问题是对于每个角色,在keyup上,将创建一个新的输入字段,因此你将能够通过以下两种方式之一解决:1)删除keyup事件一次一个新的输入字段已经创建,在这种情况下,从你给出的少量信息,我假设你想要将keyup事件分配给新的输入字段,所以如果有人开始在那里输入,则创建另一个输入字段。

(你需要jquery的bindunbind方法)

或2)创建一个标志,说明是否有新字段。这个选项稍微不那么优化了,我走这条路的问题就是每个添加到输入字段的字符的事件都会触发,但是我只是把它扔到那里以防你需要它,因为没有多少关于你想要完成什么的细节。

答案 1 :(得分: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>');
    }
});