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 SHA-1:Secure Hash Algorithm
Dec 20 Javascript
Javascript类库的顶层对象名用户体验分析
Oct 24 Javascript
Jquery显示、隐藏元素以及添加删除样式
Aug 09 Javascript
js获取IFRAME当前的URL的方法
Nov 13 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【一】
May 10 Javascript
jQuery实现立体式数字动态增加(animate方法)
Dec 21 Javascript
JS复制对应id的内容到粘贴板(Ctrl+C效果)
Jan 23 Javascript
vue 项目地址去掉 #的方法
Oct 20 Javascript
JS module的导出和导入的实现代码
Feb 25 Javascript
jQuery.parseJSON()函数详解
Feb 28 jQuery
从理论角度讨论JavaScript闭包
Apr 03 Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
Sep 23 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 syntax error, unexpected $end 错误的一种原因及解决
2008/10/25 PHP
PHP 批量删除数据的方法分析
2009/10/30 PHP
PHP学习之数组的定义和填充
2011/04/17 PHP
php中serialize序列化与json性能测试的示例分析
2013/04/27 PHP
php读取csv文件并输出的方法
2015/03/14 PHP
PHP编程实现脚本异步执行的方法
2017/08/09 PHP
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
如何将php数组或者对象传递给javascript
2014/03/20 Javascript
javascript里绝对用的上的字符分割函数总结
2014/07/31 Javascript
jquery使整个div区域可以点击的方法
2015/06/24 Javascript
基于jQuery实现的美观星级评论打分组件代码
2015/10/30 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
js的form表单提交url传参数(包含+等特殊字符)的两种解决方法
2016/05/25 Javascript
Web程序员必备的7个JavaScript函数
2016/06/14 Javascript
vue iview实现动态路由和权限验证功能
2018/04/17 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
2020/05/09 Javascript
Vue自定义全局弹窗组件操作
2020/08/11 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
2020/11/06 Javascript
基于Python实现的百度贴吧网络爬虫实例
2015/04/17 Python
Python3.x中自定义比较函数
2015/04/24 Python
Python发送form-data请求及拼接form-data内容的方法
2016/03/05 Python
Python中import导入上一级目录模块及循环import问题的解决
2016/06/04 Python
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
Python实现的多叉树寻找最短路径算法示例
2018/07/30 Python
Linux下python3.6.1环境配置教程
2018/09/26 Python
浅谈PYTHON 关于文件的操作
2019/03/19 Python
python实现弹窗祝福效果
2019/04/07 Python
python如何求数组连续最大和的示例代码
2020/02/04 Python
如何提高MySql的安全性
2014/06/19 面试题
酒店端午节促销方案
2014/02/18 职场文书
消防标语大全
2014/06/07 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
刘公岛导游词
2015/02/05 职场文书
2015年政教主任工作总结
2015/07/23 职场文书
如何起草一份正确的合伙创业协议书?
2019/07/04 职场文书