2013-02-26 283 views
1

我有一個JavaScript/jQuery頁面,我使用的是Twitter Bootstrap的鍵入。在JavaScript中有兩個獨立的位置,我添加了一些我希望成爲typeahead的元素。在不詢問主觀答案的情況下,對於我來說,將輸入作爲動態註冊輸入的好方法是什麼?給他們所有不同的ID和註冊每次我添加它們?有沒有可以用.on()完成的魔法?添加一個偵聽器到動態添加的元素

+0

元素是用DOM方法('.createElement'等)還是用String和'.innerHTML' /'.html()'構造的? – 2013-02-26 16:49:40

+0

字符串.append – tubaguy50035 2013-02-26 16:50:35

回答

2

您可以使用jQuery代表團執行此操作。例如:

$("#element-that-will-contain-typeaheads").on("DOMNodeInserted", function() { 
    $(this).find(".typeahead").typeahead(); 
}); 
+0

但這不起作用,因爲它不是偵聽器。 '。typeahead'是一個寄存器,據我所知,它不能在'.on()'中。 – tubaguy50035 2013-02-26 16:51:16

+0

有一個插入DOM節點的事件,讓我編輯我的答案 – KaeruCT 2013-02-26 16:52:36

+0

我是否應該注意我可能會「重新註冊」.typeahead? – tubaguy50035 2013-02-26 16:57:00

0

最簡單的方法,將用於typeahead, datepicker etc

第一份工作,你需要了解你是如何增加您想申請bootstrap typeahead

添加元素嘗試輸入元素實現類似如下:

//add this in your add button click handler 
$tinput = $('<input type="text" name="bootstrap" class="typeahead"/>'); 

//apply bootstrap typeahead 
$tinput.typeahead(); 

這樣它會工作,我還以爲這裏分享會幫助別人:)

相關問題