Javascript-activeElement-doesen';不适用于动态创建的文本字段
我试图在文本字段中输入一些文本时动态创建文本字段。起初,它在每次击键后都会创建一个新的文本字段,但我试图缩小它的范围,这样它就可以为每个文本字段创建一个文本字段 用一个简单的例子来解释,我想得到的是,在一开始我有textfield a。如果在textfield a中键入了内容,那么textfield B将在textfield a下创建。如果在textfield B中键入了内容,那么textfield C将在textfield B下创建,依此类推,直到用户将最后一个字段留空 错误的是,没有为动态创建的元素选择activeElement。我的想法是,当另一个textfield被选中时,它将成为(应该成为)一个长度为零的activeElement,从而将createNew更改为true,并允许它创建新的textfield 我希望我清楚地解释了我想要达到的目标,但是英语不是我的母语,所以有点难。我可能用一个不好的视角来处理这个问题,所以如果有人对如何动态创建文本字段有更好的想法,我会接受不同的选择。我以前在谷歌上搜索过,并没有找到太多关于这个想法的信息 不管怎样,这是我的jsJavascript-activeElement-doesen';不适用于动态创建的文本字段,javascript,jquery,Javascript,Jquery,我试图在文本字段中输入一些文本时动态创建文本字段。起初,它在每次击键后都会创建一个新的文本字段,但我试图缩小它的范围,这样它就可以为每个文本字段创建一个文本字段 用一个简单的例子来解释,我想得到的是,在一开始我有textfield a。如果在textfield a中键入了内容,那么textfield B将在textfield a下创建。如果在textfield B中键入了内容,那么textfield C将在textfield B下创建,依此类推,直到用户将最后一个字段留空 错误的是,没有为动态创
//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();
})
});代码>
谢谢你,大卫,没想到会这么简单@香蕉:很高兴它有帮助:)