From 784665e6bdfac6501f941600303aa69612657ff4 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Mon, 24 Nov 2014 18:45:22 +0100 Subject: [PATCH] [DOC] web: search view: extra info about key events handling Complements bde1a4432fef4cb2f5fe8ab600e72ab5b8b4830d --- addons/web/static/src/js/search.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js index e1b96d5d7fc..82ba081e0de 100644 --- a/addons/web/static/src/js/search.js +++ b/addons/web/static/src/js/search.js @@ -2362,6 +2362,8 @@ instance.web.search.AutoComplete = instance.web.Widget.extend({ ev.preventDefault(); return; } + // ENTER is caugth at KeyUp rather than KeyDown to avoid firing + // before all regular keystrokes have been processed if (ev.which === $.ui.keyCode.ENTER) { if (self.current_result && self.get_search_string().length) { self.select_item(ev); @@ -2382,6 +2384,9 @@ instance.web.search.AutoComplete = instance.web.Widget.extend({ }); this.$input.on('keydown', function (ev) { switch (ev.which) { + // TAB and direction keys are handled at KeyDown because KeyUp + // is not guaranteed to fire. + // See e.g. https://github.com/aef-/jquery.masterblaster/issues/13 case $.ui.keyCode.TAB: if (self.current_result && self.get_search_string().length) { self.select_item(ev);