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

2024-03-22

jQuery 自动完成小部件的默认行为是将结果列表定位在输入上方的 z 索引级别,以便后者始终可见,但在我的情况下,这会产生遮盖文本输入元素的不良效果。

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

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

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

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


您可以通过在样式表中添加一个简单的规则来做到这一点:

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

这应该可以完成所有工作,我在萤火虫中测试了它

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐