具有Select2焦点问题的Bootstrap模态

时间:2014-03-10 02:33:11

标签: javascript jquery twitter-bootstrap jquery-select2

我在bootstrap 3模式上选择了select2。

对于所有三个组件,代码如下

   $('#primaryModal').on('shown.bs.modal', function () {

            $(".icdLookup").select2({
               .../
             }):
};

我遇到的问题如下图所示。如果我在select2上进行选择并聚焦到另一个输入,焦点仍将保留在select2框中。

enter image  here

1 个答案:

答案 0 :(得分:1)

我通过应用以下修复解决了这个问题(只需将其放入您的JS代码中):

//fix modal force focus
$.fn.modal.Constructor.prototype.enforceFocus = function () {
  var that = this;
  $(document).on('focusin.modal', function (e) {
     if ($(e.target).hasClass('select2-input')) {
        return true;
     }

     if (that.$element[0] !== e.target && !that.$element.has(e.target).length) {
        that.$element.focus();
     }
  });
};