Merge pull request #2216 from lboynton/fix-search-focus-on-mobile
Fix search focus on mobile
This commit is contained in:
commit
43a598b372
34
select2.js
34
select2.js
@ -1915,17 +1915,19 @@ the specific language governing permissions and limitations under the Apache Lic
|
|||||||
|
|
||||||
this.search.val(this.focusser.val());
|
this.search.val(this.focusser.val());
|
||||||
}
|
}
|
||||||
this.search.focus();
|
if (this.opts.shouldFocusInput(this)) {
|
||||||
// move the cursor to the end after focussing, otherwise it will be at the beginning and
|
this.search.focus();
|
||||||
// new text will appear *before* focusser.val()
|
// move the cursor to the end after focussing, otherwise it will be at the beginning and
|
||||||
el = this.search.get(0);
|
// new text will appear *before* focusser.val()
|
||||||
if (el.createTextRange) {
|
el = this.search.get(0);
|
||||||
range = el.createTextRange();
|
if (el.createTextRange) {
|
||||||
range.collapse(false);
|
range = el.createTextRange();
|
||||||
range.select();
|
range.collapse(false);
|
||||||
} else if (el.setSelectionRange) {
|
range.select();
|
||||||
len = this.search.val().length;
|
} else if (el.setSelectionRange) {
|
||||||
el.setSelectionRange(len, len);
|
len = this.search.val().length;
|
||||||
|
el.setSelectionRange(len, len);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// initializes search's value with nextSearchTerm (if defined by user)
|
// initializes search's value with nextSearchTerm (if defined by user)
|
||||||
@ -2142,7 +2144,11 @@ the specific language governing permissions and limitations under the Apache Lic
|
|||||||
killEvent(e);
|
killEvent(e);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
dropdown.on("mousedown touchstart", this.bind(function() { this.search.focus(); }));
|
dropdown.on("mousedown touchstart", this.bind(function() {
|
||||||
|
if (this.opts.shouldFocusInput(this)) {
|
||||||
|
this.search.focus();
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
|
||||||
selection.on("focus", this.bind(function(e) {
|
selection.on("focus", this.bind(function(e) {
|
||||||
killEvent(e);
|
killEvent(e);
|
||||||
@ -2821,7 +2827,9 @@ the specific language governing permissions and limitations under the Apache Lic
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.updateResults(true);
|
this.updateResults(true);
|
||||||
this.search.focus();
|
if (this.opts.shouldFocusInput(this)) {
|
||||||
|
this.search.focus();
|
||||||
|
}
|
||||||
this.opts.element.trigger($.Event("select2-open"));
|
this.opts.element.trigger($.Event("select2-open"));
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user