aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/assets/javascript/core.js
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/assets/javascript/core.js')
-rw-r--r--phpBB/assets/javascript/core.js63
1 files changed, 37 insertions, 26 deletions
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