2010-09-13 2 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.

Смежные вопросы