diff options
author | Michael Hamann <michael@content-space.de> | 2013-02-16 18:10:00 +0100 |
---|---|---|
committer | Michael Hamann <michael@content-space.de> | 2013-02-16 18:29:32 +0100 |
commit | b480dd4215925c5e9aaecaa5c086346b009692b4 (patch) | |
tree | eb1e93ea90ee6996a5a3db2494111f851ba0e973 /lib/scripts | |
parent | dd90013a5a9ce204250f4d94072e089f617e09db (diff) | |
download | rpg-b480dd4215925c5e9aaecaa5c086346b009692b4.tar.gz rpg-b480dd4215925c5e9aaecaa5c086346b009692b4.tar.bz2 |
Abort old quick search requests when starting new ones
This prevents old requests that need longer than the newer ones (likely,
as if you type more less results are returned) from overriding the
results list.
Diffstat (limited to 'lib/scripts')
-rw-r--r-- | lib/scripts/qsearch.js | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/scripts/qsearch.js b/lib/scripts/qsearch.js index 0c3609ada..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 () { + // 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', @@ -84,6 +89,8 @@ var dw_qsearch = { onCompletion: function(data) { var max, $links, too_big; + dw_qsearch.curRequest = null; + if (data === '') { dw_qsearch.clear_results(); return; |