Select2在jqueryUIDialog搜索项失效且不能focus到搜索框解决方案

今天在项目到遇到一个select2插件在jquery UI Dialog 不能focus到搜索框的问题,后来在js 代码中加入(位置可以自己选 ,我选的位置是select2.min.js 后面,因为很多地方都用到,不用针对一个一个功能去修改):

成都创新互联公司主营千阳网站建设的网络公司,主营网站建设方案,成都App定制开发,千阳h5微信小程序定制开发搭建,千阳网站营销推广欢迎千阳等地区企业咨询

$.ui.dialog.prototype._allowInteraction = function(e) {
    return !!$(e.target).closest('.ui-dialog, .ui-datepicker, .select2-drop').length;
};

出现这个问题的原因是:

the reason the dropdown is appended into the body and is the last element is so that it may overlay the dialog when the choice box is taller then the dialog instead of scrolling inside it.

initially select2 did append the dropdown to the container instead of body, but the afore mentioned problem with dialogs is what prompted me to refactor it to append to body in the first place. so far this proved to be a solution with the least amount of problems.

unfortunately its not a perfect solution, not when the dialogs are built with these weird restrictions in place.

这个原因来自:https://github.com/ivaynberg/select2/issues/1246


文章名称:Select2在jqueryUIDialog搜索项失效且不能focus到搜索框解决方案
文章起源:http://azwzsj.com/article/gpodho.html