Browse Source

Fixes >1 multi-select dropdown being open at the same time

Bug was reproduced on latest FF/Chrome/Safari, but IE exibits correct
behavior with or without the fix.

See: http://jsfiddle.net/tmD7c/2/
tom 12 years ago
parent
commit
b33c86e5e4
1 changed files with 8 additions and 5 deletions
  1. 8 5
      select2.js

+ 8 - 5
select2.js

@@ -509,17 +509,20 @@ the specific language governing permissions and limitations under the Apache Lic
     $document.ready(function () {
         $document.bind("mousedown touchend", function (e) {
             var target = $(e.target).closest("div.select2-container").get(0), attr;
+            var targetDropdown = null;
             if (target) {
                 $document.find("div.select2-container-active").each(function () {
                     if (this !== target) $(this).data("select2").blur();
                 });
-            } else {
-                target = $(e.target).closest("div.select2-drop").get(0);
-                $document.find("div.select2-drop-active").each(function () {
-                    if (this !== target) $(this).data("select2").blur();
-                });
+                targetDropdown = $(target).data('select2').dropdown.get(0);
             }
 
+            // close any other active dropdowns
+            target = targetDropdown || $(e.target).closest("div.select2-drop").get(0);
+            $document.find("div.select2-drop-active").each(function () {
+                if (this !== target) $(this).data("select2").blur();
+            });
+
             target=$(e.target);
             attr = target.attr("for");
             if ("LABEL" === e.target.tagName && attr && attr.length > 0) {