2

所以我有以下代码:

jQuery('#id').live('keyup.autocomplete', function () {
    jQuery(this).autocomplete({
        source: function (request, response) {
            jQuery.getJSON("link?callback=?", {
                format: 'jsonp',
                ...
            }, response);
        },
        minLength: 2,
        selectFirst: true,
        select: function (event, ui) {
                ...
        }
    })
});

在 Firefox 中,当我尝试使用它给我的输入时:

TypeError: jQuery(this).autocomplete is not a function
[Break On This Error]   

select: function( event, ui ) {

此错误仅在 Firefox 中,在所有其他浏览器上都可以正常工作。有任何想法吗?

4

1 回答 1

4

从 jQuery 1.7 开始,不推荐使用 .live() 方法。使用 .on() 附加事件处理程序。旧版本 jQuery 的用户应该使用 .delegate() 而不是 .live()。

$(选择器).live(事件,数据,处理程序); // jQuery 1.3+

$(document).delegate(选择器,事件,数据,处理程序); // jQuery 1.4.3+

$(document).on( events , selector , data , handler ); // jQuery 1.7+

请参考下面的链接 http://api.jquery.com/live/

于 2013-01-15T12:21:27.960 回答