Browse Source

Don't rely on :visible and :not(..., ...) selectors which only work with Sizzle.

Arend van Beelen 11 năm trước cách đây
mục cha
commit
a6ec8fc4e1
1 tập tin đã thay đổi với 3 bổ sung2 xóa
  1. 3 2
      select2.js

+ 3 - 2
select2.js

@@ -264,7 +264,8 @@ the specific language governing permissions and limitations under the Apache Lic
 
             /* make sure el received focus so we do not error out when trying to manipulate the caret.
                 sometimes modals or others listeners may steal it after its set */
-            if ($el.is(":visible") && el === document.activeElement) {
+            var isVisible = (el.offsetWidth > 0 || el.offsetHeight > 0);
+            if (isVisible && el === document.activeElement) {
 
                 /* after the focus is set move the caret to the end, necessary when we val()
                     just before setting focus */
@@ -1431,7 +1432,7 @@ the specific language governing permissions and limitations under the Apache Lic
 
         // abstract
         findHighlightableChoices: function() {
-            return this.results.find(".select2-result-selectable:not(.select2-disabled, .select2-selected)");
+            return this.results.find(".select2-result-selectable:not(.select2-disabled):not(.select2-selected)");
         },
 
         // abstract