我有一个div,我加载了一个动态内容。动态内容通常是具有多个输入元素的表单,包括下拉菜单。问题是有时下拉单击时会自动关闭。这只发生在IE中。
答案 0 :(得分:1)
如果您的动态内容不适合占位符div,则会显示垂直滚动条,您可以使用它向下滚动以编辑其中的某些表单数据。如果您加载不同的内容,IE仍然会将其解释为前一个,并且它“认为”您一直滚动到底部,因此这里的下拉列表不应该是可见的(它们位于顶部),因此会自动关闭它们。
你可以通过加载不适合div的表单内容来检查,向下滚动,编辑一些数据(这足以点击一个输入元素;这样它会记住你的光标位置),加载另一个内容(适合于div)并再次加载前一个。您将在IE中看到滚动将位于中间的某个位置(在Firefox和Chrome中它将一直向上滚动)。
我的问题的解决方案是在加载新内容之前将div滚动到顶部:
var myDiv = document.getElementById('placeholder');
myDiv.scrollTop = 0;