Отказ от функции с вводом на основе динамической задержкиJavascript

Форум по Javascript
Ответить
Anonymous
 Отказ от функции с вводом на основе динамической задержки

Сообщение Anonymous »

Я хотел бы отменить функцию в JavaScript с динамической задержкой на основе пользовательского ввода. Эта задержка должна зависеть от длины входной строки. Чем длиннее ввод, тем больше задержка.
В моем коде метод срабатывает несколько раз или задерживается слишком сильно:

Код: Выделить всё

let debounceTimeout;

function dynamicDebounce(fn, input) {
const delay = Math.min(500 + input.length * 20, 2000);
clearTimeout(debounceTimeout);

debounceTimeout = setTimeout(() => {
fn(input);
}, delay);
}

function handleInputChange(input) {
console.log("User input:", input);
}
document.querySelector('input').addEventListener('input', function(event) {
dynamicDebounce(handleInputChange, event.target.value);
});
Как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ased-input
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»