2010-09-13 59 views
2

好吧,我有一个自动填充字段heere,它为每个按键发出一个ajax请求...但是.focusout()应该终止自动填充,因为直观地说,如果用户离开字段并在下一个字段上移动,它不应该给你任何建议,因为你已经离开了这个领域。任何想法如何做到这一点。这是我的代码。我正在使用这个自动完成功能plugin,这里是我的代码证书。输入一个艺术家,离开现场,看看我的意思外焦可以停止呼叫吗?

电子邮件:[email protected]传:TEST12

$('#request_artist').autocomplete({ 
    serviceUrl: '<%= ajax_path("artistName") %>', 
    minChars:1, 
    width: 300, 
    delimiter: /(,|;)\s*/, 
    deferRequestBy: 0, //miliseconds 
    params: { artists: 'Yes' }, 
}); 

回答

1

尝试使用abort()

var theCall = $('#request_artist').autocomplete({ 
        serviceUrl: '<%= ajax_path("artistName") %>', 
        minChars:1, 
        width: 300, 
        delimiter: /(,|;)\s*/, 
        deferRequestBy: 0, //miliseconds 
        params: { artists: 'Yes' }, 
       }); 
// ... 
// When you decide you want to cancel the call 
$('#request_artist').blur(function() { 

    theCall.abort(); 

}); 

从这两者previous SO answer。以上仅在.autoComplete()使用XMLHttpRequest实例进行呼叫时才有效。