0

我正在使用 jquery.multiselect 库,它在 chrome 中完美运行。

我正在使用可以在此处查看的 css 样式

用法:

$("#component").multiselect(
            { 
                multiple: true,
                height: '30px', 
                selectedText: "# selected",
                noneSelectedText: "Select Items", 
                checkAllText: "All",
                uncheckAllText: "None"              
            }); 

这在 chrome 中完美运行,但是当我尝试在 Firefox 或 IE 中查看时,打开选择后,它会渲染到屏幕的左下角,并且 z-index 似乎根本不起作用。我对此进行了一些研究,听起来 jQuery 1.8.1(我正在使用)可能存在错误,但是该修补程序 似乎不起作用。

关于为什么这将在 chrome 中工作,但在其他浏览器中不起作用的任何想法?

这里报告的问题似乎也非常相似。

注意到我将组合框放在手风琴内也可能是有效的,但由于它在 chrome 中工作,我相信这不应该是一个问题。我担心 position:absolute (在某些样式中)可能会在某些浏览器中引起问题,但这可能是一个红鲱鱼。

我迷路了这个,请帮助!谢谢。

4

3 回答 3

3

如果您使用的是 jQuery 1.8+,则可能是由outerHeight(false).

在 jquery-ui-multiselect-widget 1.13 版本的源码第 573 行:top: pos.top + button.outerHeight(),

将其更改为:

top: pos.top + button.outerHeight(false),

解决了我的问题。

于 2014-11-11T16:23:05.720 回答
2

您可以尝试的一个技巧是使用 firebug 或 chrome 检查器来找出有问题的元素——最外面的元素不是它应该在的位置。尝试将“位置:相对”添加到此元素的父级。这可能会让它至少更接近你需要的地方。如果这不起作用,请尝试将“位置:相对”添加到父级的父级,依此类推,直到问题得到解决。

于 2013-05-31T21:35:51.497 回答
0

我不知道为什么,在我的多选版本中position: absolute,下拉样式中缺少购买,并且在某些情况下会导致问题。

将它添加到.ui-multiselect-menu类解决了这个问题。

于 2016-01-12T12:00:39.350 回答