我目前正在我的客户网上商店中实现jQuery UI的自动完成功能。问题是:自动完成功能所驻留的元素的z-index值高于自动完成功能的z-index值。我尝试手动设置自动完成z-index,但是我感觉jQuery UI会覆盖它。
实际上,我的问题是自动完成建议列表的重复,错误的z-index,我该如何更改?,但由于没有答案,因此我考虑再次尝试。
欢迎任何帮助!
马丁
我目前正在我的客户网上商店中实现jQuery UI的自动完成功能。问题是:自动完成功能所驻留的元素的z-index值高于自动完成功能的z-index值。我尝试手动设置自动完成z-index,但是我感觉jQuery UI会覆盖它。
实际上,我的问题是自动完成建议列表的重复,错误的z-index,我该如何更改?,但由于没有答案,因此我考虑再次尝试。
欢迎任何帮助!
马丁
!important
Answers:
使用z-index
和!important
.ui-autocomplete { position: absolute; cursor: default;z-index:30 !important;}
在搜索时,我发现了这个主题(http://forum.jquery.com/topic/alternating-style-on-autocomplete)。显然,更改自动完成框样式的唯一方法是通过javascript进行操作:
open: function(){
$(this).autocomplete('widget').css('z-index', 100);
return false;
},
ui-front
类+appendTo
插件选项):api.jqueryui.com/theming/stacking-elements
更改父Div的z-index,自动完成菜单将具有div的z-index + 1
在的CSS中jQuery UI
:
.ui-front { z-index: 9999; }
如果您能够在自动完成文本输入后强制使用更高的z索引,那么这就是您的问题的解决方案。
jQuery UI自动完成选项列表通过获取附加到其上的文本输入的z-index来计算其z-index值,并将该值加1。
因此,您可以为文本输入输入999的z-index,自动完成功能的z-index值为1000
取自http://bugs.jqueryui.com/ticket/5489
<input type="text" class="autocomplete" style="z-index:999;" name="foo">
如果您使用的是jquery-ui对话框,请务必在自动完成之前初始化对话框,否则自动完成将显示在对话框下方。
添加以下内容
.ui-autocomplete
{
z-index:100 !important;
}
在jquery-custom-ui.css文件中(如果正在使用,则缩小文件)。