【发布时间】:2015-03-30 12:57:29
【问题描述】:
我正在使用Twitter Typeahead 为我的文本输入提供自动完成功能。
当我动态创建输入时,.typeahead() 不会显示提示 UI,除非在输入控件附加到 DOM 之后调用它。
这行得通:
var input1 = $('<input type="text" />');
$("#dynamic-container1").append(input1); /* (A) */
input1.typeahead(null, make_dataset()); /* (B) */
input1.focus();
这不是:
var input2 = $('<input type="text" />');
input2.typeahead(null, make_dataset()); /* (B) */
$("#dynamic-container2").append(input2); /* (A) */
input2.focus();
(注意标记为(A) 和(B) 的行的顺序。)
为什么会这样?在将输入附加到 DOM 之前初始化 Typeahead 是否有正确的方法?
这是一个小提琴:http://jsfiddle.net/joz0fn3m/
【问题讨论】:
标签: jquery html typeahead.js twitter-typeahead