Javascript 添加新表单时,如何保持表单的焦点?

Javascript 添加新表单时,如何保持表单的焦点?,javascript,jquery,focus,blur,Javascript,Jquery,Focus,Blur,这是一把小提琴: 函数blanker(){ var c=$('.whatever').html().replace(“thisWillBlank”,”); $('.whatever').html(c); } $(“#已清除”).focus(); setTimeout(函数(){blanker()},3000); 使用JS/jquery/css,我只希望无论点击哪个表单,即使出现新表单,也能保持关注。谢谢 您正在替换元素,因此旧元素不再可用,但只要它有一个ID,您就可以将其作为目标: funct

这是一把小提琴:

函数blanker(){
var c=$('.whatever').html().replace(“thisWillBlank”,”);
$('.whatever').html(c);
}
$(“#已清除”).focus();
setTimeout(函数(){blanker()},3000);

使用JS/jquery/css,我只希望无论点击哪个表单,即使出现新表单,也能保持关注。谢谢

您正在替换元素,因此旧元素不再可用,但只要它有一个ID,您就可以将其作为目标:

function blanker(){ 
    var active = document.activeElement.id;
    var c = $('.whatever').html().replace("thisWillBlank", "<form><input type='text' id='thisWillBlank'></form>");
    $('.whatever').html(c); 
    $('#'+active).focus();
}
函数blanker(){
var active=document.activeElement.id;
var c=$('.whatever').html().replace(“thisWillBlank”,”);
$('.whatever').html(c);
$('#'+活动).focus();
}

聚焦时不要替换…似乎很简单如果我在输入新的空白时,文本似乎会消失。我怎样才能使我在打字时文本不会在单词中间被删除?非常感谢^_^关闭,但我基本上只希望能够继续在文本框中键入内容,就像没有添加任何内容一样,而表单实际上正在添加。现在的方式保存了我键入的内容,但却让我跳转到另一个框中。我试过了,但还是不走运。非常感谢。您正在替换元素,所以您不能期望它在实际发生某些事情时表现为什么都没有发生。保留该值的唯一方法是在删除旧元素时保存并重新应用该值。除此之外,您必须找到一种不删除元素的方法。
$('p'+word)
不是有效的选择器,文本不是元素,它只是一个textnode,因此不能像那样进行选择。
function blanker(){ 
    var active = document.activeElement.id;
    var c = $('.whatever').html().replace("thisWillBlank", "<form><input type='text' id='thisWillBlank'></form>");
    $('.whatever').html(c); 
    $('#'+active).focus();
}