Javascript-форум (https://javascript.ru/forum/)
-   Мобильный JavaScript (https://javascript.ru/forum/mobile/)
-   -   Подвисает скрипт при выполнее на iPhone (https://javascript.ru/forum/mobile/73636-podvisaet-skript-pri-vypolnee-na-iphone.html)

Veiner 02.05.2018 11:56

Подвисает скрипт при выполнее на iPhone
 
Здравствуйте, недавно столкнулся с небольшой проблемой: есть код
который делает поиск города в списке по введенному названию
"var field = $('.my-select-options').find('.my-select-option');
$('#my_select_search_field').on('keyup', function() {
var q = new RegExp($(this).val(), 'ig');
for (var i = 0, l = field.length; i < l; i += 1) {
if ($(field[i]).text().match(q)) {
$(field[i]).show();
} else {
$(field[i]).hide();
}
}
});"
Он работает, но если зайти на страницу с iPhone и попробовать ввести значения в строку поиска, то браузер подвисает примерно на 20 секунд.
Что примечательно, этот же код я использовал на другом сайте, и там все работает корректно(Версия jQuery на сайтах одинаковая)
P.S. Пробовал заменить поиск на после нажатия на кнопку, а не после каждого символа, но ничего не поменялось. Единственное что заметил это то что подвисание происходит только при первом пробеге по списку.
Подскажите в чем может заключаться причина данной неполадки?

j0hnik 02.05.2018 12:12

var field = $('.my-select-option');
		$('#my_select_search_field').on('keyup', function() {
			var q = new RegExp($(this).val(), 'i');
			field.each(function(){
				if(q.test($(this).text())) $(this).show();
				else $(this).hide();
			});
		});


попробуйте так, если лучше станет отпишитесь


Часовой пояс GMT +3, время: 08:17.