diff --git a/phpBB/assets/javascript/core.js b/phpBB/assets/javascript/core.js index e5f4bd824d..6034f81a6e 100644 --- a/phpBB/assets/javascript/core.js +++ b/phpBB/assets/javascript/core.js @@ -513,37 +513,48 @@ phpbb.timezonePreselectSelect = function(forceSelector) { }; // Listen live search box events +var delay = (function(){ + var timer = 0; + return function(callback, ms){ + clearTimeout (timer); + timer = setTimeout(callback, ms); + }; +})(); + $('.live-search-input').keyup(function() { var str = this.value; - if (str.length < 3) { - return; - } - var link, name; - var clone = $("#user-search-row-tpl").clone(); - $("#livesearch").html(""); - clone.appendTo("#livesearch"); - $.ajax({ - url:'memberlist.php?mode=livesearch&'+"&q="+str, - success:function(result) { - $.each(result, function(idx, elem) { - link = "memberlist.php?mode=viewprofile&u=" + elem.id; - name = elem.name; - clone = $("#user-search-row-tpl").clone(); - clone.find(".user-search-link").attr("href", link); - clone.find(".user-search-name").html(name); - clone.attr("style", ""); - clone.appendTo("#livesearch"); - }); + delay(function(){ + if (str.length < 3) { + return; } - }); + var link, name; + var clone = $("#user-search-row-tpl").clone(); + $("#livesearch").html(""); + clone.appendTo("#livesearch"); + $.ajax({ + url:'memberlist.php?mode=livesearch&'+"&q="+str, + success:function(result) { + $.each(result, function(idx, elem) { + link = "memberlist.php?mode=viewprofile&u=" + elem.id; + name = elem.name; + clone = $("#user-search-row-tpl").clone(); + clone.find(".user-search-link").attr("href", link); + clone.find(".user-search-name").html(name); + clone.attr("style", ""); + clone.appendTo("#livesearch"); + }); + } + }); + }, 2000 ); }); -$('.live-search-input').blur(function() { - setTimeout(function () { - var clone = $("#user-search-row-tpl").clone(); - $("#livesearch").html(""); - clone.appendTo("#livesearch"); - }, 500); +$(document).click(function(event) { + var target = $( event.target ); + if(!target.is("#livesearch, #livesearch *, .live-search-input")) { + var clone = $("#user-search-row-tpl").clone(); + $("#livesearch").html(""); + clone.appendTo("#livesearch"); + } }); // Toggle notification list diff --git a/phpBB/styles/prosilver/template/memberlist_search.html b/phpBB/styles/prosilver/template/memberlist_search.html index a63e38b184..0efa91cc95 100644 --- a/phpBB/styles/prosilver/template/memberlist_search.html +++ b/phpBB/styles/prosilver/template/memberlist_search.html @@ -12,7 +12,7 @@
- +
diff --git a/phpBB/styles/subsilver2/template/memberlist_search.html b/phpBB/styles/subsilver2/template/memberlist_search.html index bdb5422b55..ea0b562b41 100644 --- a/phpBB/styles/subsilver2/template/memberlist_search.html +++ b/phpBB/styles/subsilver2/template/memberlist_search.html @@ -79,7 +79,7 @@ - +