Javascript 焦点不适用于输入字段Jquery
我正在尝试使用jquery动态添加输入字段。我可以添加输入字段,但无法将焦点移动到下一个输入字段 代码如下:-Javascript 焦点不适用于输入字段Jquery,javascript,jquery,html,keypress,Javascript,Jquery,Html,Keypress,我正在尝试使用jquery动态添加输入字段。我可以添加输入字段,但无法将焦点移动到下一个输入字段 代码如下:- $(函数(){ var scntDiv=$('p#u scents'); 变量i=$('#p#p').size()+1; $(scntDiv).按键(函数(事件){ if(event.which==13){ $('p>')。附录(scntDiv); i++; 返回false; } }); $('#remScnt').live('click',function(){ 如果(i>2){
$(函数(){
var scntDiv=$('p#u scents');
变量i=$('#p#p').size()+1;
$(scntDiv).按键(函数(事件){
if(event.which==13){
$('p>')。附录(scntDiv);
i++;
返回false;
}
});
$('#remScnt').live('click',function(){
如果(i>2){
$(this.parents('p').remove();
我--;
}
返回false;
});
});代码>
*{font-family:Arial;}
h2{填充:0 0 5px 5px;}
h2a{color:#224f99;}
a{color:#999;文本装饰:无;}
a:悬停{颜色:#802727;}
p{padding:05px0;}
输入{填充:5px;边框:1px实心#999;边框半径:4px;-moz边框半径:4px;-web工具包边框半径:4px;-khtml边框半径:4px;}
$(函数(){
var scntDiv=$('p#u scents');
变量i=$('#p#p').size()+1;
$(scntDiv).按键(函数(事件){
if(event.which==13){
$('p>')。附录(scntDiv);
$(“#p#u scnt"+i).focus();
i++;
返回false;
}
});
$('#remScnt').live('click',function(){
如果(i>2){
$(this.parents('p').remove();
我--;
}
返回false;
});
});代码>
*{font-family:Arial;}
h2{填充:0 0 5px 5px;}
h2a{color:#224f99;}
a{color:#999;文本装饰:无;}
a:悬停{颜色:#802727;}
p{padding:05px0;}
输入{填充:5px;边框:1px实心#999;边框半径:4px;-moz边框半径:4px;-web工具包边框半径:4px;-khtml边框半径:4px;}
1.id
每个元素都必须是唯一的,因此将输入框的id='p\u-scnt'
更改为class='p\u-scnt'
。对于移除按钮,也可以使用class=“remScnt”
而不是id=“remScnt”
2.使用$('.p\u scnt:last').focus()代码>在动态创建的输入框上添加焦点
3正如您在评论中提到的,您使用的是jQuery最新版本,因此.live()
不起作用,现在您需要使用
工作片段:-
$(函数(){
var scntDiv=$('p#u scents');
变量i=$('p#u气味p')。长度;
$(scntDiv).按键(函数(事件){
if(event.which==13){
警报($(event.target.val());
$('p>')。附录(scntDiv);
$('.p_scnt:last').focus();
i++;
返回false;
}
});
$(document).on('click','.remScnt',function(){
如果(i>1){
$(this.parents('p').remove();
我--;
}
返回false;
});
});代码>
*{
字体系列:Arial;
}
h2{
填充:0 0 5px 5px;
}
h2a{
颜色:#224f99;
}
a{
颜色:#999;
文字装饰:无;
}
a:悬停{
颜色:#802727;
}
p{
填充:0 5px 0;
}
输入{
填充物:5px;
边框:1px实心#999;
边界半径:4px;
-moz边界半径:4px;
-网络工具包边界半径:4px;
-khtml边界半径:4px;
}
按Enter键,它将自动添加…甚至不需要id,只需从附加的元素中将其作为目标:…appendTo(scntDiv)。find('input:first')。focus()是的,但正如我看到OP多次使用同一id一样,我也改进了这一点。谢谢你的建议@头发不要使用多个id
我建议为此使用class
。你可以查看我的答案以供参考谢谢你的建议@AlivetoDie你能告诉我如果我们使用ID或class会有什么不同吗?谢谢:)@hairmot而不是使用多个id
我建议使用class
。你可以查看我的答案以供参考。另外,在您的注释中,('input:first')
需要是('input:last')
我想在输入并单击enter按钮后提醒该值。@Ravi检查我编辑的解决方案代码以及注释部分。我已经添加了alert()
code。谢谢@live to Die