所以我有一些逻辑依赖于JQuery的element.width()
方法。有时我的逻辑失败了。我注意到它只是在隐藏元素时才会失败(在bootstrap可折叠元素中)。我查看了文档,他们说:
.width()报告的值不能保证准确 隐藏元素或其父元素。要获得准确的值,请确保 在使用.width()之前,元素是可见的。 jQuery将尝试 暂时显示然后重新隐藏元素以测量它 尺寸,但这是不可靠的(即使是准确的)可以 显着影响页面性能。这个展示和重新隐藏 测量功能可能会在未来的jQuery版本中删除。
所以我知道我的问题。我的计划是检查元素是否“隐藏”,如果是,则不会立即执行逻辑,而是搜索可折叠父级并将逻辑订阅到shown.bs.collapse
事件。
我的问题是如何检查元素是否被JQuery的宽度方法视为“隐藏”(如文档中所述)。它是如此简单:
element[0].style.display == "none"
我想要一张能够捕捉所有案件的支票。
提前致谢。
答案 0 :(得分:0)
我相信jQuery使用这个逻辑:
$(element).is(":visible")