我一直在开发单页应用程序,并注意到我的下拉菜单有时会在它们被隐藏时保持打开状态。我调查了为什么会发生这种情况并发现如果父元素被隐藏,使用扩展hide
函数的 jQuery UI 隐藏元素是毫无价值的。
这个小提琴示例说明了我的意思,只需尝试单击Hide
&Show
按钮,然后单击Show parent1
并尝试在此处隐藏元素。您会注意到状态指示器会立即更新,但是一旦您返回,parent2
您会看到该元素仍然可见。
我发现使用hide
不带参数或仅传递毫秒的 jQuery,它确实可以正常工作,并且一旦我使用 jQuery UI 参数更新它就会停止工作,所以我认为这是 jQuery UI 而不是 jQuery 本身的问题。
所以我的问题是为什么 jQuery UI 以这种方式工作,是它假设的工作方式还是它是一个错误?