Javascript-activeElement-doesen';不适用于动态创建的文本字段

Javascript-activeElement-doesen';不适用于动态创建的文本字段,javascript,jquery,Javascript,Jquery,我试图在文本字段中输入一些文本时动态创建文本字段。起初,它在每次击键后都会创建一个新的文本字段,但我试图缩小它的范围,这样它就可以为每个文本字段创建一个文本字段 用一个简单的例子来解释,我想得到的是,在一开始我有textfield a。如果在textfield a中键入了内容,那么textfield B将在textfield a下创建。如果在textfield B中键入了内容,那么textfield C将在textfield B下创建,依此类推,直到用户将最后一个字段留空 错误的是,没有为动态创

我试图在文本字段中输入一些文本时动态创建文本字段。起初,它在每次击键后都会创建一个新的文本字段,但我试图缩小它的范围,这样它就可以为每个文本字段创建一个文本字段

用一个简单的例子来解释,我想得到的是,在一开始我有textfield a。如果在textfield a中键入了内容,那么textfield B将在textfield a下创建。如果在textfield B中键入了内容,那么textfield C将在textfield B下创建,依此类推,直到用户将最后一个字段留空

错误的是,没有为动态创建的元素选择activeElement。我的想法是,当另一个textfield被选中时,它将成为(应该成为)一个长度为零的activeElement,从而将createNew更改为true,并允许它创建新的textfield

我希望我清楚地解释了我想要达到的目标,但是英语不是我的母语,所以有点难。我可能用一个不好的视角来处理这个问题,所以如果有人对如何动态创建文本字段有更好的想法,我会接受不同的选择。我以前在谷歌上搜索过,并没有找到太多关于这个想法的信息

不管怎样,这是我的js

//This is the javascript for the namepage.html
var createNew = true;

function getNewInsertion() {
    var container = document.getElementById("inputcontainer");

    if (document.activeElement.value.length == 0 && createNew == false){
        createNew = true;
    }
    else if (createNew == true){
        createNew = false;
        var input = document.createElement("input");
        input.type = "text";
        input.className = "form-control text-controller"; // set the CSS class
        input.placeholder = "Sisesta siia nimi";
        container.appendChild(input);
    }

    return createNew;
}



$(function() {
    $(".text-controller").bind("paste cut keydown",function(e) {
        getNewInsertion();

    })

}); 
您应该在容器上:

$(function() {
    $("#inputcontainer").on( "paste cut keydown", "input", function(e) {
        getNewInsertion();
    })
}); 
在这里,我给大家留下一个片段:

var createNew=true;
函数getNewInsertion(){
var container=document.getElementById(“inputcontainer”);
if(document.activeElement.value.length==0&&createNew==false){
createNew=true;
}
else if(createNew==true){
createNew=false;
var输入=document.createElement(“输入”);
input.type=“text”;
input.className=“表单控制文本控制器”;//设置CSS类
input.placeholder=“Sisesta siia nimi”;
container.appendChild(输入);
}
返回新的;
}
$(函数(){
$(“#inputcontainer”)。在(“粘贴剪切键”,“输入”,函数(e)上{
getNewInsertion();
})
});


谢谢你,大卫,没想到会这么简单@香蕉:很高兴它有帮助:)