jquery-ui - 将 jQuery 自动完成输入的 z-index 值设置为高于结果列表本身的级别

标签 jquery-ui autocomplete z-index shadows

jQuery Autocomplete 小部件的默认行为是将结果列表放置在输入上方一个 z-index 级别,以便后者始终可见,但在我的情况下,这会产生不希望的效果,使文本输入元素蒙上阴影。

我尝试在 open 方法中将 z-index 值输入元素设置为至少比结果列表高一级,但没有太大成功:

open: function () {
    setTimeout(function () {
        $(this).css('zIndex', 10000);
    }, 1);
},
close: function () {
    $(this).css('zIndex', 0);
}

input 元素的 z-index 级别确实提升到 10000,而结果列表的 z-index 级别保持在级别 1,但 input 元素仍然出现在它下面。

有没有人知道为什么会这样?
结果列表和输入元素的位置属性分别设置为绝对和相对。这可能是原因吗?

最佳答案

您可以通过向样式表添加一个简单的规则来实现:

#your_input {
    position: relative;
    z-index: 10000;
}
.ui-autocomplete {
     z-index: 9999 !important;
}

这应该可以完成所有工作,我在 Firebug 中对其进行了测试

关于jquery-ui - 将 jQuery 自动完成输入的 z-index 值设置为高于结果列表本身的级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12090191/

相关文章:

javascript - 了解结束标签的位置

elasticsearch - 同时使用 match_phrase_prefix 和模糊性的 Elasticsearch 查询?

autocomplete - 使用鼠标粘贴未激活 Google 的自动完成功能

html - 如何在隐藏的溢出中显示下拉宽度?

javascript - jquery draggable droppable remove 掉落

javascript - WordPress javascript 冲突

javascript - slider handle 超出水平 slider

jquery - 如何改进 jQuery "Tag-It"自动完成功能?

iphone - 更改 Cocos2d 中绘制方法的 z 顺序?

css - 如何用另一个 <div> 覆盖 <div> 的边框?