jQuery - Функция throttle на поле поиска

316
19 октября 2017, 10:31

Никак не могу разобраться с функцией throttle. Подскажите, кто разбирается.

2-e ситуации, на которые нужно повесить задержку throttle, которое вешается на поле поиска:

  1. Кликаем на кнопку поиска - появляется инпут (ранее был скрыт классом hidden по клику класс снимается, если класса не было уже - значит запускаем функцию поиска:

    if( $('.inputSearch').hasClass('hidden') )
        $('.inputSearch').removeClass('hidden').end().find('.inputSearch').focus();
    else{
        startSearch($('.inputSearch')); //startSearch - функция поиска
    }
  2. Если в инпуте нажали Enter:

    $('.inputSearch').on('keydown', function(e){
        if (e.keyCode == 13){
            startSearch($('.inputSearch'))
    }

Пытался вешать кучу разных конструкций:

$.throttle(1000, startSearch(parent.find('.inputSearch'))) 

Ничего не работает у меня, пишет: $.throttle is not a function.

P.S. говорят, нужно именно с throttle, без setTimeout или delay.

Answer 1

По ошибке видно, что проблема в нахождении функции.

А сам плагин throttle-debounce подключается? после подключения jQueryесть подобное?

<script type="text/javascript" src="jquery.ba-throttle-debounce.min.js"></script>
READ ALSO
Валидация input на лету

Валидация input на лету

Нужно валидировать input на лету, чтобы не давало вводить символ, если строка перестает соответствовать регулярному выражению

305
Ajax response есть, а данных в базе нет

Ajax response есть, а данных в базе нет

Есть форма обратной связизаполняем 4 поля, отправляем и без перезагрузки страницы получаем в ответ надпись, что форма отправлена

281
Ползунок треугольником JQuery CSS

Ползунок треугольником JQuery CSS

ЗдравствуйтеСтолкнулся с проблемой

219