У меня есть следующий код, поскольку я хочу искать базу данных, когда пользователь вводит текстовое поле. Этот код ниже работает отлично, но кажется немного неэффективным, как если бы пользователь печатал очень быстро, я потенциально делаю много больше запросов, чем необходимо. Поэтому, если пользователь вводит "парусный спорт"
Я ищу "паруса", "саили", "парус" и "парусный спорт"
Мне хотелось узнать, есть ли способ обнаружить какое-либо конкретное время между нажатиями клавиш, поэтому нужно только искать, если пользователь перестанет печатать на 500 миллисекунд или что-то вроде этого.
Есть ли лучшие практики для чего-то вроде этого?
$('#searchString').keypress(function(e) {
if (e.keyCode == 13) {
var url = '/Tracker/Search/' + $("#searchString").val();
$.get(url, function(data) {
$('div#results').html(data);
$('#results').show();
});
}
else {
var existingString = $("#searchString").val();
if (existingString.length > 2) {
var url = '/Tracker/Search/' + existingString;
$.get(url, function(data) {
$('div#results').html(data);
$('#results').show();
});
}
}