Как вывести содержимое input без дублирования?

Всем привет.

Я отслеживаю input событием "input keyup", для того что бы вывести сразу на экран и для фильтрации блоков по данным который ввел пользователь. Но когда я пытаюсь вывести уже окончательную версию того что ввел пользователь (через click), у меня происходит дублирования.

События:

$('#searchPermitted').on('input keyup', function (e) {
   //...
   addLiBlocked();
}


Как вывожу на экран:

function addLiBlocked() {
    $('.select_lists-choose-blocked').click(function () {

        $('#select_left ul')
            .append('<li>' + $('#searchPermitted').val() + '</li>');
    })
}


5ae102a85a9ef803206529.jpeg
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ответы на вопрос 1
@qst73
Стандартный подход это использовать таймер между нажатиями.

var timeBetweenTypes = 700,  // время между нажатиями 700мс
	myTimer;                 // таймер

//запускаем таймер, когда стреляет keyup
$('#searchPermitted').on('input keyup', function(){
	clearTimeout(myTimer);
	if ($('#searchPermitted').val()) {
		myTimer = setTimeout(typeEnd, timeBetweenTypes);
	}
});

// считаем, что ввод текста в input закончен
function typeEnd () {
	$('#textAppender')
		.append('<li>' + $('#searchPermitted').val() + '</li>');
}


https://codepen.io/anon/pen/MGedzZ
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
16 июн. 2024, в 01:07
600 руб./в час
15 июн. 2024, в 23:20
50000 руб./за проект
15 июн. 2024, в 23:15
4000 руб./за проект