博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决Select2控件不能在jQuery UI Dialog中不能搜索的bug
阅读量:6645 次
发布时间:2019-06-25

本文共 926 字,大约阅读时间需要 3 分钟。

本文使用博客园Markdown编辑器进行编辑


1.问题呈现

项目中使用了jQuery UI的Dialog控件,一般用来处理需要提示用户输入或操作的简单页面。逻辑是修改一个广告的图片和标题。

效果截图如下:
292047124232754.png

使用Select2,主要是因为它支持下拉式搜索。所以在数据稍微多一点,作为搜索选择功能的首选。但是运行出来之后,发现搜索框无法点击。开始想到的index不够大,被其他的元素覆盖了。但是跳转z-index也无法解决。在普通的页面,搜索框是ok的。

2.解决办法

通过Google搜索,发现select2作者在github上说明了这个问题:

292053218458113.png

但是他给出解决的方法,我看不太懂,后面也有人说直接修改jQuery UI类库,但是我们项目中使用的jquery-ui-1.10.3.min.js。所以不可能修改jQuery UI的源代码,而已修改源代码,在后期类库升级和维护上,各种坑还是比较多。所以我继续搜索解决版本。在jQuery UI的官网找到了方法。hot fix代码如下:

hot fix:Select2控件在jQuery UI弹出对话中不能搜索$.widget("ui.dialog", $.ui.dialog, {    open: function () {        return this._super();    },    _allowInteraction: function (event) {        return !!$(event.target).is(".select2-input") || this._super(event);    }});

3.心得体会

在前端开发中,虽然很多时候为了快速迭代和项目及时上线,我们会使用很多成熟的第三控件或者插件,我们在借助官网api之后,在项目正确的集成它之后,还需要更深入了解它的工作原理和细节。这样在遇到不可知的bug时,能快速找到问题的根源是关键。这也是工作之后,leader或者manager更加强调你发现问题和解决问题的能力。

参考网址:

1.

2.

转载于:https://www.cnblogs.com/liminjun88/p/3700087.html

你可能感兴趣的文章
SQLServer 数据库镜像+复制切换方案
查看>>
ThoughtWorks代码挑战——FizzBuzzWhizz
查看>>
异常相关问题
查看>>
无法定位序数XX于动态链接库XX.dll的解决的方法
查看>>
企业服务总线Enterprise service bus介绍
查看>>
使用fuser命令kill一个终端(特殊文件)的方法
查看>>
oc-15-self
查看>>
高速充电技术介绍
查看>>
RestTemplate
查看>>
三、jdk工具之jstack(Java Stack Trace)
查看>>
树莓派 Windows10 IoT Core 开发教程
查看>>
微信网页版朋友圈在哪?怎么找不到
查看>>
Codeforces #263 div2 解题报告
查看>>
nginx 代理https后,应用redirect https变成http --转
查看>>
poj 2406 Power Strings 周期问题
查看>>
SNF快速开发平台成长史V4.5-Spring.Net.Framework-SNF软件开发机器人
查看>>
工作日志2014-08-21
查看>>
iOS-UIImageView载入网络下载的图片(异步+多线程)
查看>>
python3 tkinter
查看>>
haproxy(8):haproxy代理MySQL要考虑的问题
查看>>