我正在尝试获取将在 jquery-ui 对话框中显示的元素的宽度。
该对话框设置为在加载时显示:无。这不允许我获得宽度。
我是否需要显示它,获取宽度并立即再次隐藏它以获取宽度?或者还有其他我不知道的选择吗?
Thanks
您有两个选择:
- 如果你的 jquery-ui 对话框必须是
display:none
,获取其子级尺寸的唯一方法是 show/get_dimensions/hide。
- 如果你可以将其设置为
visibility:hidden
,那么就没有什么可做的:只需获取尺寸即可。
但是,将 jquery-ui 容器设置为visibility:hidden
这不是一件好事,因为它可能会改变系统的整个行为。也许有一个测试display:none
jquery-ui-dialog 脚本中的某处,并使用修改它visibility
会破坏这个测试。此外,如果没有,则无法确保 jquery-ui 的未来版本中不会有任何内容。
要使用第一种解决方案快速获取尺寸,请参考这个答案 https://stackoverflow.com/a/1472385/646960.
Mootools-more Element.measure 解决方案:
Mootools 在 Mootools-more 的 Element.measure 中实现了显示/测量/隐藏技术。这raw code https://github.com/mootools/mootools-more/blob/master/Source/Element/Element.Measure.js不能与 jQuery 一起使用,因为 Mootools 直接扩展元素而不是提供框架包装器,但您可以轻松地根据您的目的调整它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)