summaryrefslogtreecommitdiff
path: root/lib/scripts/qsearch.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/scripts/qsearch.js')
-rw-r--r--lib/scripts/qsearch.js17
1 files changed, 13 insertions, 4 deletions
diff --git a/lib/scripts/qsearch.js b/lib/scripts/qsearch.js
index c3d0d94fb..e5cc73b49 100644
--- a/lib/scripts/qsearch.js
+++ b/lib/scripts/qsearch.js
@@ -12,6 +12,7 @@ var dw_qsearch = {
$inObj: null,
$outObj: null,
timer: null,
+ curRequest: null,
/**
* initialize the quick search
@@ -35,12 +36,16 @@ var dw_qsearch = {
// attach eventhandler to search field
do_qsearch = function () {
- dw_qsearch.clear_results();
+ // abort any previous request
+ if (dw_qsearch.curRequest != null) {
+ dw_qsearch.curRequest.abort();
+ }
var value = dw_qsearch.$inObj.val();
if (value === '') {
+ dw_qsearch.clear_results();
return;
}
- jQuery.post(
+ dw_qsearch.curRequest = jQuery.post(
DOKU_BASE + 'lib/exe/ajax.php',
{
call: 'qsearch',
@@ -57,7 +62,6 @@ var dw_qsearch = {
window.clearTimeout(dw_qsearch.timer);
dw_qsearch.timer = null;
}
- dw_qsearch.clear_results();
dw_qsearch.timer = window.setTimeout(do_qsearch, 500);
}
);
@@ -85,7 +89,12 @@ var dw_qsearch = {
onCompletion: function(data) {
var max, $links, too_big;
- if (data === '') { return; }
+ dw_qsearch.curRequest = null;
+
+ if (data === '') {
+ dw_qsearch.clear_results();
+ return;
+ }
dw_qsearch.$outObj
.html(data)