jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法


Posted in Javascript onSeptember 23, 2016

最近在一个ASP.NET MVC5项目中使用Bootstrap的模态窗(弹出层)来让用户填写内容,其中的一个编辑框提供了自动完成功能,用jQuery UI Autocomplete来实现。

因为我是WEB前端小白,遇到一个问题很久也没解决掉,所以特简单记录一下,供以后查阅。

问题:不使用模态窗的时候,autocomplete可以很好的工作,使用模态窗时弹出的选择菜单会被模态窗遮挡。

解决过程:

首先查到的解决办法是在*autocomplete.css中找到.ui-autocomplete伪类,添加z-index:

100000000000000000000000000000000;

测试后没有任何作用,也用Firebug尝试去调试页面,虽然查看到弹出层的z-index值为1041,而autocomplete生成的ul并没有z-index值,以我的功力还是无从下手。

最后在博客园找到一篇帖子基于Jquery-ui的自动补全,按照贴子里的做法,在cshtml文件最后添加了下面一段CSS代码,终于成功解决。

<style type="text/css">
.ui-autocomplete{
display:block;
z-index:99999;
}
</style>

然而,当我把这代码单独保存到一个CSS(autocomplete-zindex.css)文件,再引入到页面中时,问题又回到之前的状态了。

@section Scripts{
<link href="~/Content/jquery-ui-autocomplete.css" rel="stylesheet" />
<link href="~/Content/autocomplete-zindex.css" rel="stylesheet" />
<script src="~/Scripts/jquery-ui-autocomplete.js" type="text/javascript"></script>
<link href="~/Content/jquery-ui-datepicker.css" rel="stylesheet" />
<script src="~/Scripts/jquery-ui-datepicker.js" type="text/javascript"></script>
<script src="~/Scripts/datepicker-zh-HK.js" type="text/javascript"></script>
<script src="~/Scripts/datepicker-setting.js" type="text/javascript"></script>
}

上面一段代码的本意是将对autocomplete和datepicker的引用分开,相对独立便于维护。

经过反复尝试后发现,原来是因为jquery-ui-datepicker.css放在后面导致,把顺序调换一下就可以了

<link href="~/Content/jquery-ui-autocomplete.css" rel="stylesheet" />
<link href="~/Content/jquery-ui-datepicker.css" rel="stylesheet" />
<link href="~/Content/autocomplete-zindex.css" rel="stylesheet" />

走到这,也就明白了,其实直接改.ui-autocomplete伪类代码,加上z-index:99999;其实也是正确的,不过就是要注意放在datepicker.css文件之后罢了。

方案:

1.简单:直接修改jquery-ui-autocomplete.css中的.ui-autocomplete伪类,注意将该css文件放在所有css文件的最后

2.粗暴:直接在cshtml页面代码最下面添加代码:<style type="text/css">.ui-autocomplete{z-index:99999;}</style>

3.伪雅:将第二步代码写在单独的css文件,然后保持对该css文件的引用放在所有css文件之后

以上所述是小编给大家介绍的jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js鼠标点击图片实现随机变换图片的方法
Feb 16 Javascript
简述Jquery与DOM对象
Jul 10 Javascript
Bootstrap Search Suggest使用例子
Dec 21 Javascript
jQuery向webApi提交post json数据
Jan 16 Javascript
详解jQuery中ajax.load()方法
Jan 25 Javascript
Node.js 中使用 async 函数的方法
Nov 20 Javascript
react-native 圆弧拖动进度条实现的示例代码
Apr 12 Javascript
微信小程序实现手势滑动卡片效果
Aug 26 Javascript
layui的数据表格+springmvc实现搜索功能的例子
Sep 28 Javascript
在vue中高德地图引入和轨迹的绘制的实现
Oct 11 Javascript
js 闭包深入理解与实例分析
Mar 19 Javascript
返回上一个url并刷新界面的js代码
Sep 12 Javascript
bootstrap与Jquery UI 按钮样式冲突的解决办法
Sep 23 #Javascript
jQuery easyui刷新当前tabs的方法
Sep 23 #Javascript
AngularJS通过$location获取及改变当前页面的URL
Sep 23 #Javascript
AngularJS监听路由的变化示例代码
Sep 23 #Javascript
同步异步动态引入js文件的几种方法总结
Sep 23 #Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
Sep 23 #Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
Sep 23 #Javascript
You might like
PHP中=赋值操作符对不同数据类型的不同行为
2011/01/02 PHP
PHP引用(&amp;)各种使用方法实例详解
2014/03/20 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
2017/06/09 PHP
PHP+RabbitMQ实现消息队列的完整代码
2019/03/20 PHP
WebGame《逆转裁判》完整版 代码下载(1月24日更新)
2007/01/29 Javascript
动态添加js事件实现代码
2009/03/12 Javascript
基于jQuery实现点击同时更改两个iframe的网址
2010/07/01 Javascript
javascript 进阶篇2 CSS XML学习
2012/03/14 Javascript
node.js中的path.extname方法使用说明
2014/12/09 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
2016/02/16 Javascript
JS &amp; JQuery 动态添加 select option
2016/06/08 Javascript
JS动态给对象添加事件的简单方法
2016/07/19 Javascript
使用bootstrap实现多窗口和拖动效果
2016/09/22 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
JS优化与惰性载入函数实例分析
2017/04/06 Javascript
JS库中的Particles.js在vue上的运用案例分析
2017/09/13 Javascript
如何开发出更好的JavaScript模块
2017/12/22 Javascript
nginx+vue.js实现前后端分离的示例代码
2018/02/12 Javascript
在vue中使用SockJS实现webSocket通信的过程
2018/08/29 Javascript
原生JS实现轮播图效果
2018/10/12 Javascript
bootstrap tooltips在 angularJS中的使用方法
2019/04/10 Javascript
python xml.etree.ElementTree遍历xml所有节点实例详解
2016/12/04 Python
Python无损音乐搜索引擎实现代码
2018/02/02 Python
dataframe 按条件替换某一列中的值方法
2019/01/29 Python
python实现微信打飞机游戏
2020/03/24 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
2020/06/17 Python
ROSEFIELD手表荷兰官方网上商店:北欧极简设计女士腕表品牌
2018/01/24 全球购物
智能电子秤、手表和健康监测仪:Withings(之前为诺基亚健康)
2018/10/30 全球购物
俄罗斯儿童和青少年服装、鞋子及配件的在线商店:Orby
2020/02/20 全球购物
分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)
2014/07/16 面试题
幼儿园运动会入场词
2014/02/10 职场文书
决心书范文
2014/03/11 职场文书
实习工作表现评语
2014/12/31 职场文书
倡议书格式及范文
2015/04/29 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书
Vue接口封装的完整步骤记录
2021/05/14 Vue.js