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 相关文章推荐
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
Mar 21 Javascript
对象题目的一个坑 理解Javascript对象
Dec 22 Javascript
实例讲解jQuery中对事件的命名空间的运用
May 24 Javascript
AngularJS中的API(接口)简单实现
Jul 28 Javascript
微信小程序 wxapp画布 canvas详细介绍
Oct 31 Javascript
AngularJS中的按需加载ocLazyLoad示例
Jan 11 Javascript
基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )
Mar 30 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
Aug 20 Javascript
js中let能否完全替代IIFE
Jun 15 Javascript
layui form表单提交之后重新加载数据表格的方法
Sep 11 Javascript
微信小程序实现锚点功能
Nov 20 Javascript
js实现时分秒倒计时
Dec 03 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
追忆往昔!浅谈收音机的百年发展历史
2021/03/01 无线电
php长字符串定义方法
2012/07/12 PHP
php 生成Tab键或逗号分隔的CSV
2016/09/24 PHP
转一个日期输入控件,支持FF
2007/04/27 Javascript
ie focus bug 解决方法
2009/09/03 Javascript
JQuery 动态扩展对象之另类视角
2010/05/25 Javascript
用apply让javascript函数仅执行一次的代码
2010/06/27 Javascript
jQuery 表单验证扩展代码(一)
2010/10/11 Javascript
10款非常有用的 Ajax 插件分享
2012/03/14 Javascript
分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容
2012/04/20 Javascript
jquery实现背景墙聚光灯效果示例分享
2014/03/02 Javascript
js获取客户端网卡的IP地址、MAC地址
2014/03/26 Javascript
Nodejs极简入门教程(二):定时器
2014/10/25 NodeJs
javascript实现倒计时跳转页面
2016/01/17 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
VueJs路由跳转——vue-router的使用详解
2017/01/10 Javascript
js实现适合新闻类图片的轮播效果
2017/02/05 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
浅谈Angular 的变化检测的方法
2018/03/01 Javascript
jquery自定义组件实例详解
2020/12/31 jQuery
Python的string模块中的Template类字符串模板用法
2016/06/27 Python
python django 实现验证码的功能实例代码
2017/05/18 Python
Python解压 rar、zip、tar文件的方法
2019/11/19 Python
Python自动化之UnitTest框架实战记录
2020/09/08 Python
运行Python编写的程序方法实例
2020/10/21 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
2021/01/21 Python
python利用xpath爬取网上数据并存储到django模型中
2021/02/26 Python
HTML5+WebSocket实现多文件同时上传的实例
2016/12/29 HTML / CSS
Mansur Gavriel官网:纽约市的一个设计品牌
2019/05/02 全球购物
宿舍违规检讨书
2014/01/12 职场文书
社会公德演讲稿
2014/05/20 职场文书
收入及婚姻状况证明
2014/11/20 职场文书
2015新员工试用期工作总结
2014/12/12 职场文书
2015年劳动部工作总结
2015/05/23 职场文书
python3.7.2 tkinter entry框限定输入数字的操作
2021/05/22 Python
vue项目打包后路由错误的解决方法
2022/04/13 Vue.js