2010-09-13 56 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實例進行呼叫時纔有效。