Mój skrypt poniżej. #search to pole input. Chciałbym aby po naciśnięciu dowolnej litery skrypt odczekał z wykonaniem części pobierającej dane za pomocą JSON przykładowo pół sekundy i jeśli nie nastąpi ponowne naciśnięcie klawisza dopiero wykonał funkcje pobierającą dane. Nie mogę sobie z tym kompletnie poradzić.
// live search
$(document).on('keyup click', '#search', function() {
var search = $(this).val();
if (search.length > 0) {
$.getJSON("function.js.php?option=search&search="+search, function(data){
$('#panel_live_search').empty();
for(var m in data) {
var movie = data[ m ];
$('#panel_live_search').append('\
<a href="index.php?id='+movie['id']+'">\
<div class="live_search_box" title="'+movie['title']+'">\
<img class="img_live_search" src="cache/'+movie['id']+'.jpg">\
<div class="live_search_title">'+movie['title']+'
</div>\
<div class="live_search_orig_title">'+movie['originaltitle']+'
</div>\
'+movie['year']+' | '+movie['rating']+' | '+movie['runtime']+' min. | '+movie['genre']+' | '+movie['country']+' | '+movie['director']+'\
}
});
}
$(document).click(function(){
$('#panel_live_search').empty();
});
});