jquery ui dialog 中使用select2 导致select2的input失去焦点的解决方法

在jqueryUI 的dialog中使用select2,select2的input search无论怎样都获取不到焦点?

解决方法:

$(document).ready(function () {
        $.widget("ui.dialog", $.ui.dialog, {
            //解决Dialog控件使用select2不出现光标的问题
            open: function () {
                return this._super();
            },
            _allowInteraction: function (event) {
                return !!$(event.target).is(".select2-search__field") || this._super(event);
            }}
        );
        var user_select2_option = {
                ajax: {
                    url: "/util/account",
                    dataType: 'json',
                    delay: 250,
                    data: function (params) {
                        return {
                            q: params.term
                        };
                    },
                    processResults: function (data, page) {
                        return {
                            results: data.items
                        };
                    },
                    cache: true
                },
                allowClear: true,
                minimumInputLength: 2
            };
        $(".user-select2").select2(user_select2_option);
        delete user_select2_option['allowClear'];

    });

  

原文地址:https://www.cnblogs.com/terrycy/p/6775859.html