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