0
所以我有一些逻辑依赖于JQuery的element.width()
方法。有时我的逻辑失败了。我注意到,当元素被隐藏时,它只会失败(位于引导可折叠元素内)。我查看了文档,他们说:JQuery - 如何确定一个DOM元素是否“隐藏”?
当元素或其父元素被隐藏时,.width()报告的值不能保证准确。要获得准确的值,请确保在使用.width()之前元素可见。 jQuery将尝试 暂时显示,然后重新隐藏一个元素以测量它的尺寸,但这是不可靠的,并且(即使在准确的情况下) 会显着影响页面性能。这个展示和重新使用的测量功能可能会在将来的jQuery版本中被删除。
所以我知道我的问题。我的计划是检查元素是否“隐藏”,如果是这样,而不是立即执行逻辑,我将搜索可折叠的父元素,并订阅shown.bs.collapse
事件的逻辑。
我的问题是如何检查元素是否被JQuery的宽度方法视为“隐藏”(如文档中所述)。它是如此简单:
element[0].style.display == "none"
我想检查,捕获所有案件。
在此先感谢。
https://api.jquery.com/category/selectors/visibility-filter-selectors/ – j08691
合并':hidden'选择和'。就是()'method - >'$(element).is(':hidden')'(返回一个布尔值)。 –
击败了我:-) –