From f3c6d6d51fece129597f14ac9f12cdb6177918d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1n=20Ko=C5=A1=C4=8Do?= <3k.stanley@gmail.com> Date: Wed, 5 Mar 2014 11:20:07 +0100 Subject: [PATCH] After prevented removing of item in multiselect, proper item is focused --- select2.js | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/select2.js b/select2.js index 72de1900..e31bf324 100644 --- a/select2.js +++ b/select2.js @@ -2610,13 +2610,15 @@ the specific language governing permissions and limitations under the Apache Lic selectedChoice = next.length ? next : null; } else if (e.which === KEY.BACKSPACE) { - this.unselect(selected.first()); - this.search.width(10); - selectedChoice = prev.length ? prev : next; + if (this.unselect(selected.first())) { + this.search.width(10); + selectedChoice = prev.length ? prev : next; + } } else if (e.which == KEY.DELETE) { - this.unselect(selected.first()); - this.search.width(10); - selectedChoice = next.length ? next : null; + if (this.unselect(selected.first())) { + this.search.width(10); + selectedChoice = next.length ? next : null; + } } else if (e.which == KEY.ENTER) { selectedChoice = null; } @@ -2992,7 +2994,7 @@ the specific language governing permissions and limitations under the Apache Lic this.opts.element.trigger(evt); if (evt.isDefaultPrevented()) { - return; + return false; } while((index = indexOf(this.id(data), val)) >= 0) { @@ -3005,6 +3007,8 @@ the specific language governing permissions and limitations under the Apache Lic this.opts.element.trigger({ type: "select2-removed", val: this.id(data), choice: data }); this.triggerChange({ removed: data }); + + return true; }, // multi