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

How to add new input field with .keyup()?

本文关键字:输入 字段 添加 何使用 keyup      更新时间:2023-09-26

我创建了添加按钮来创建输入字段。让我给你看看我的代码:

$(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>。我下一步可以尝试什么?

下面是这样的东西,这里是密钥代码的列表

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

你试过keyup吗?这很简单,只需将keyup事件分配给输入字段,而不是在div上使用click事件

我看到你会遇到的问题是,对于每个字符,在keyup上,都会创建一个新的输入字段,所以你可以用两种方法之一来解决这个问题:1)一旦创建了一个新输入字段,就删除keyup事件,在这种情况下,根据你提供的少量信息,我假设你想将keyup事件分配给新输入字段,创建另一个输入字段。

(您需要jquery的绑定和解除绑定方法)

或者2)创建一个标志,说明是否有新字段。这个选项的优化程度有点低,我走这条路的问题是,添加到输入字段的每个角色都会触发事件,但我只是在你需要的时候把它扔出去,因为你想要完成的事情没有太多细节。