0
我有以下代碼,其中附加文本輸入到井中上聚焦,並隱藏它如果輸入是空。問題是它只適用於原始輸入字段,生成的第二個輸入字段不能在焦點上激活此功能。任何想法爲什麼?輸入相關的功能不運行後所附
$('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();
}
});
只是爲了解釋這一點,使用'。對()'與元素只重視該行爲存在時該函數運行類型的元素 - 如果隨後額外的元素添加到DOM的行爲贏得了不會被註冊。如果您將行爲委託給文檔,它也會覆蓋稍後添加的匹配元素。退房[jQuery的文檔(http://api.jquery.com/on/)更多細節(具體而言,標題爲「直接和委託事件」下)。 – 2013-02-25 03:07:02
謝謝你的工作就像一個魅力! 感謝Zaid的解釋,這很有道理。 – 2013-02-25 03:09:04
不用擔心,如果你想進一步閱讀,添加一個鏈接到文檔:) – 2013-02-25 03:09:51