diff --git a/src/js/select2/core.js b/src/js/select2/core.js index 628087ae..888b4b71 100644 --- a/src/js/select2/core.js +++ b/src/js/select2/core.js @@ -298,7 +298,12 @@ define([ var key = evt.which; if (self.isOpen()) { - if (key === KEYS.ENTER) { + if (key === KEYS.ESC || key === KEYS.TAB || + (key === KEYS.UP && evt.altKey)) { + self.close(); + + evt.preventDefault(); + } else if (key === KEYS.ENTER) { self.trigger('results:select'); evt.preventDefault(); @@ -313,15 +318,11 @@ define([ } else if (key === KEYS.DOWN) { self.trigger('results:next'); - evt.preventDefault(); - } else if (key === KEYS.ESC || key === KEYS.TAB) { - self.close(); - evt.preventDefault(); } } else { if (key === KEYS.ENTER || key === KEYS.SPACE || - ((key === KEYS.DOWN || key === KEYS.UP) && evt.altKey)) { + (key === KEYS.DOWN && evt.altKey)) { self.open(); evt.preventDefault();