jQuery.autocomplete在Firefox中提供TypeError

时间:2012-08-02 11:27:57

标签: jquery firefox autocomplete

所以我有以下代码:

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中,在所有其他浏览器上都可以正常运行。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

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

$( selector )。live( events data handler ); // jQuery 1.3 +

$(document).delegate( selector events data handler ); // jQuery 1.4.3 +

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

请参阅以下链接 http://api.jquery.com/live/