我有以下代码,它将文本输入附加到焦点上的井中,如果输入为空则隐藏它。问题是它只适用于原始输入字段,生成的第二个输入字段不会在焦点上激活此功能。有什么想法吗?
$('input:text')
.on('focus', function()
{
var $this = $(this);
if ($this.val() == "")
{
numItems++;
$($this.parent().append($('<input type="text" value ="" id="item' + numItems + '"></input>')));
}
})
.on('blur', function()
{
var $this = $(this);
if ($this.val() == "")
{
$this.hide();
}
});
答案 0 :(得分:1)
尝试改变:
$('input:text')
.on('focus', function()
到
$(document)
.on('focus','input:text', function()
答案 1 :(得分:1)
或者,您可以委托给要附加输入的直接父级。
$("#parentOfInput").on('focus','input:text', function(){
//Handler
});
这比@ sudhir的答案稍微有效。
这将确保事件在它一直冒泡到文档根目录之前被截获。