6

有没有办法将 twitter bootstrap 的 typeahead 函数转换为$("body").on()函数?如果页面加载中存在该元素,则以下代码可以正常工作。

$("#job_title").typeahead({
    source: searchFunction,        
    onselect: function(obj) {            
    }
});

但是如果我动态添加文本输入id="job_title",上面的函数就不起作用了。有解决方法吗?

4

3 回答 3

3

此解决方案不需要额外的 javascript。来自https://stackoverflow.com/a/15094730

$("#element-that-will-contain-typeaheads").on("DOMNodeInserted", function () {
    $(this).find(".typeahead").typeahead();
});
于 2013-08-06T20:03:50.590 回答
1

我下载了 jquery.livequery.js以获得我想要的行为:

$("#job_title").livequery("create", function() {
    $(this).typeahead({
        source: searchFunction,        
        onselect: function(obj) {            
        }
    });
});
于 2012-06-15T18:31:28.090 回答
0
var fx = {
    "init":function() {
        $("#id_of_an_element").typeahead({
            minLength:2,
            delay:1 ...
        })
    },
    "method2":function(){
        some content;
    }
}

每次包含预先输入的元素被加载到 DOM 中(例如,通过 AJAX 成功,调用 fx.init();

于 2019-02-25T22:35:04.697 回答