Twitter typeahead.js (バージョン 0.9.2) をプロジェクトに統合して大成功を収めましたが、先日、jQuery のclone()メソッドを使用してフォーム コントロールを挿入および削除するページで問題が発生しました。
これが私の意味を示すフィドルです。「o」または「t」を既存の要素に入力してから、「+」または「>>」ボタンで新しい要素を追加してみてください。次に、新しく作成されたタイプアヘッドをクリックすると、その上にあるタイプアヘッドの提案メニューが開き、それ以外の場合はタイプアヘッドのようにまったく機能しないことがわかります。
SOではリンクだけを投稿できないため、フィドルの一部を次に示します。
先行入力を囲む HTML Dom 構造
<div class="outer">
<div class="inner">
<form>
<input name="example" /> <!-- initialized as typeahead -->
<button type="button" class="addBlock">+</button>
<!-- other buttons omitted -->
</form>
</div>
</div>
「+」ボタンの jQuery ドライバー コード
$(document).on('click', '.addBlock', function(){
var clone = $(this).parents('.inner').clone(true, true);
clone.appendTo($('div.outer'));
});