2013-07-04 43 views
0

我試圖在用戶每次按下輸入時在頁面上插入一個新的文本字段。在Jquery上覆制文本字段

我的代碼

$(":text").on("keypress", function(e) { 
if (e.keyCode == '13') { 
    e.preventDefault() 
    $(this).after("<p><input type='text' class='textfield' maxlength='10' value=''/>  <span></span> </p>") 
} 

    }); 

當我按在原單文本字段中輸入,但新一不反應的任何印刷機的新文本字段出現。我假設功能上與現場類似,這應該是解決這類問題的方法。怎麼了?

+1

您事件委託到精確的元素。這意味着新創建的元素處於冷態。您需要將綁定按鍵綁定到外部容器並將其限制爲文本字段。 – Tommi

回答

0

您需要爲新添加的元素做事件代理

Use event delegation通過使用()函數

例:

$("#parent").on('keypress', 'textboxselector', function(event) { 

----do the things here 
}); 
-1

請參考下面的代碼

 $(".textfield").live("keypress", function (e) { 
     if (e.keyCode == '13') { 
      e.preventDefault(); 
      $(this).after("<p><input type='text' class='textfield' maxlength='10' value=''/>  <span></span> </p>") 
     } 

    }); 
+0

你能解釋我downvote的原因嗎? –

+0

關於jquery的1.7版本中引入。 Live從1.7開始不再使用。所以你可能會使用早於1.7版本的jquery。 –

相關問題