今天在项目到遇到一个select2插件在jquery UI Dialog 不能focus到搜索框的问题,后来在js 代码中加入(位置可以自己选 ,我选的位置是select2.min.js 后面,因为很多地方都用到,不用针对一个一个功能去修改):
$.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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。