4

我正在尝试对jQuery UI MultiSelect Widget进行一些调整。

我遇到的一个问题是刷新控件后主控件有点太宽了。查看代码,宽度设置使用:

var width = this.element.outerWidth();

wherethis.element指的是我原来的<select>控件,已经被 jQuery UI MultiSelect Widget 隐藏了。

玩弄这个,我可以看到outerWidth()当我的元素隐藏时返回 424 <select>,当它可见时返回 406。(请注意,width()当元素隐藏时也会返回更大的值。)

有谁知道宽度会根据控件是否可见而改变或如何改变?控件可见时返回的值似乎是正确的值。

编辑:

我创建了一个jsFiddle来演示这一点。

4

1 回答 1

0

您无法获取display:none;元素的宽度。

您需要使用Position:absolute;和隐藏它left:-999999px;

这里是你需要的 css。不要忘记穿上position:relativediv 包装器。

JsFiddle:http: //jsfiddle.net/7xqk01oa/3/

于 2015-07-24T00:19:14.690 回答