我正在尝试对jQuery UI MultiSelect Widget进行一些调整。
我遇到的一个问题是,刷新控件后主控制有点太宽。查看代码,使用以下命令设置宽度:
var width = this.element.outerWidth();
this.element
指的是我的原始<select>
控件,该控件已被jQuery UI MultiSelect Widget隐藏。
解决这个问题,我可以看到outerWidth()
在隐藏<select>
元素时返回424,当它可见时返回406。 (请注意,width()
在隐藏元素时也会返回更大的值。)
根据控件是否可见,有人知道宽度会变化的原因或方式吗?控件可见时返回的值似乎是正确的值。
修改
我创建了一个jsFiddle来证明这一点。
答案 0 :(得分:0)
您无法获得display:none;
元素的宽度。
您需要使用Position:absolute;
和left:-999999px;
隐藏它。
这里是您需要的CSS。别忘了把position:relative
放在div包装器上。
JsFiddle:http://jsfiddle.net/7xqk01oa/3/