Показать сообщение отдельно
  #4 (permalink)  
Старый 13.03.2015, 12:16
Интересующийся
Отправить личное сообщение для Jigan2 Посмотреть профиль Найти все сообщения от Jigan2
 
Регистрация: 13.03.2015
Сообщений: 29

Подсмотрел тут .keyup() задержка и отправка одного запроса после нескольких нажатий и сделал так:
function searchGo(query) {
	var obj_search_user_list = $("#search_user_list");
	
			var ajaxurl = CHAT_SITE_URL+'/index.php?act=web_chat&op=search_friend&n=99&f_id='+user['u_id']+'&q='+query;
			$.ajax({
			type: "GET",
			url: ajaxurl,
			dataType:"jsonp",
			async: false,
            cache: false,
			success: function(friend_list){	
				obj_search_user_list.empty();
				$("#search_button").empty();
				$("#search_button").prepend('<div class="clear-search"></div>');
			    for (var u_id in friend_list){
			        var class_html = 'offline';
			        if ( user_list[u_id]['online'] > 0 ) class_html = 'online';
			           obj_search_user_list.prepend('<li class="user" select_u_id="'+u_id+'" onclick="show_message('+u_id+');"><i class="'+class_html+'"></i><span class="user-avatar avatar-'+user_list[u_id]['online']+'" title="'+user_list[u_id]['u_name']+'"><img alt="'+user_list[u_id]['u_name']+'" src="'+user_list[u_id]['avatar']+'"></span><span class="user-name" title="'+user_list[u_id]['u_name']+'">'+user_list[u_id]['u_name']+'<em></em></span><em unread_id="'+u_id+'" class=""></em></li>');
			    }
			},
			complete: function() {
				$("#user_list").hide();
			    obj_search_user_list.show();
			    //getconnect();
				$(".loading-search").remove();
			    $(".scroll_bar").customScrollbar("resize", true);
            }
			});
		return false;
    }
	var ajax_timeout;
	function friend_search(query) {
		if(query.length == 0) {
			window.clearTimeout(ajax_timeout);
			$("#search_user_list").hide();
			$("#user_list").show();
			$("#search_button").empty();
			$("#search_button").prepend('<i class="icon-search cursor-hand" onclick="$(".friend-search").focus();"></i>');
			obj.find('#user_list > .select_user').prependTo($('#user_list'));
			$(".scroll_bar").customScrollbar("resize", true);
            show_chat();
			return false;
		} else {
			$("#search_button").empty();
		    $("#search_button").prepend("<div class='loading-search'></div>");
			window.clearTimeout(ajax_timeout);
            ajax_timeout = setTimeout(function() {
		    searchGo (query);
	        },500);
        }
    }

Теперь при быстром наборе отправляется один запрос. При удалении не выполняется ни одного.
Ответить с цитированием