From df2aaa0cfcf7ba760a537446ff6298a5610ecbb5 Mon Sep 17 00:00:00 2001 From: Igor Vaynberg Date: Tue, 5 Feb 2013 14:50:06 -0800 Subject: [PATCH] disable focus-via-tab when disabled. fixes #614 --- select2.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/select2.js b/select2.js index d41f090d..f78121d4 100644 --- a/select2.js +++ b/select2.js @@ -1477,6 +1477,31 @@ the specific language governing permissions and limitations under the Apache Lic return container; }, + // single + disable: function() { + if (!this.enabled) return; + + this.parent.disable.apply(this, arguments); + + this.selection.attr("tabIndex", "-1"); + this.search.attr("tabIndex", "-1"); + }, + + // single + enable: function() { + if (this.enabled) return; + + this.parent.enable.apply(this, arguments); + + if (this.elementTabIndex) { + this.selection.attr("tabIndex", this.elementTabIndex) + } else { + this.selection.removeAttr("tabIndex"); + } + + this.search.removeAttr("tabIndex"); + }, + // single opening: function () { this.search.show(); @@ -1604,6 +1629,8 @@ the specific language governing permissions and limitations under the Apache Lic dropdown.bind("mousedown", this.bind(function() { this.search.focus(); })); selection.bind("focus", this.bind(function() { + if (!this.enabled) return; + this.container.addClass("select2-container-active"); // hide the search so the tab key does not focus on it this.search.attr("tabIndex", "-1");