|
@@ -1902,6 +1902,8 @@ S2.define('select2/selection/search',[
|
|
|
};
|
|
|
|
|
|
Search.prototype.update = function (decorated, data) {
|
|
|
+ var searchHadFocus = this.$search[0] == document.activeElement;
|
|
|
+
|
|
|
this.$search.attr('placeholder', '');
|
|
|
|
|
|
decorated.call(this, data);
|
|
@@ -1910,6 +1912,9 @@ S2.define('select2/selection/search',[
|
|
|
.append(this.$searchContainer);
|
|
|
|
|
|
this.resizeSearch();
|
|
|
+ if (searchHadFocus) {
|
|
|
+ this.$search.focus();
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
Search.prototype.handleSearch = function () {
|
|
@@ -5134,7 +5139,12 @@ S2.define('select2/core',[
|
|
|
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();
|
|
@@ -5149,15 +5159,11 @@ S2.define('select2/core',[
|
|
|
} 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();
|