附加后输入相关功能未运行

时间:2013-02-25 03:02:31

标签: javascript jquery html twitter-bootstrap

我有以下代码,它将文本输入附加到焦点上的井中,如果输入为空则隐藏它。问题是它只适用于原始输入字段,生成的第二个输入字段不会在焦点上激活此功能。有什么想法吗?

$('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();
  }
});

2 个答案:

答案 0 :(得分:1)

尝试改变:

$('input:text')
.on('focus', function()

$(document)
.on('focus','input:text', function()

答案 1 :(得分:1)

或者,您可以委托给要附加输入的直接父级。

$("#parentOfInput").on('focus','input:text', function(){
    //Handler
});

这比@ sudhir的答案稍微有效。

这将确保事件在它一直冒泡到文档根目录之前被截获。